提交时间:2024-06-16 16:09:57

运行 ID: 49050

#include <iostream> #include <cstdio> using namespace std; int a[35]; int w[35],c[35]; int f[205]; int main(){ int n,m; cin>>m>>n; for(int i=0;i<n;++i) { cin>>w[i]>>c[i]; } for(int i=0;i<n;++i) { for(int j=m;j>=w[i];--j)//没错就是倒序更新j啦 { f[j]=max(f[j-w[i]]+c[i],f[j]); } } cout<<f[m]<<endl; return 0; }