#include<bits/stdc++.h>
using namespace std;
#define N 30010
int f[N];
int p[N];
int v[N];
int n,m;
int read(/*o(* ̄︶ ̄*)o*/)
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int main(/*o(* ̄︶ ̄*)o*/)
{
n=read(),m=read();
for(int i=1;i<=m;i++) v[i]=read(),p[i]=read();
for(int i=1;i<=m;i++)
for(int j=v[i];j++;j<=n)
f[j]=max(f[j],f[j-v[i]]+v[i]*p[i]);
printf("%d\n",f[n]);
return 0;
}
全部RE,哪错了