悬赏一关注
#include <iostream>
#define ll long long
#define maxn 10005
using namespace std;
int w[maxn],c[maxn];
int f[maxn][maxn];
int main(){
int n,m;
cin >> m >> n;
for (int i=1;i<=n;i++) cin >> w[i] >> c[i];
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
for (int k=1;k<=m/c[i];k++){
if (k*c[i]<=j) f[i][j]=max(f[i-1][j],f[i-1][j-k*c[i]]+k*w[i]);
else f[i][j]=f[i-1][j];
}
}
}
cout << f[n][m];
}