算法
不需要二维了,用一维数组f记录状态
C++ 代码
#include<bits/stdc++.h>
#define N 10009
using namespace std;
int n,c,w,v,f[N];
int main() {
cin>>c>>n;
for (int i=1;i<=n;i++) {
cin>>w>>v;
for (int j=c;j>=w;j--)
f[j]=max(f[j],f[j-w]+v);
}
cout<<f[c]<<endl;
return 0;
}