Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
49050 | songsibo | 01背包问题 | C++ | 通过 | 0 MS | 260 KB | 362 | 2024-06-16 16:09:57 |
#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; }