```
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int w[N],val[N],dp[N][N*10];
int main()
{
int n,m,res=-1e9;
cin>>n>>m;
for(int i=1;i<=m;i++)cin>>w[i]>>val[i];
for(int i=1;i<=m;i++)
for(int j=n;j>=0;j--)
dp[i][j]=(j>=w[i]?max(dp[i-1][j-w[i]]+val[i],dp[i-1][j]):dp[i-1][j]);
cout<<dp[m][n]<<endl;
return 0;
}
```
by Skyboys @ 2023-07-27 16:51:23