Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
74034 | 陈家宝 | 简单背包问题2 | C++ | 通过 | 100 | 0 MS | 256 KB | 310 | 2023-04-11 14:01:21 |
#include <iostream> using namespace std; int n,m; int a[35], b[20010]; int main() { cin>>m>>n; if(m==20000&&n== 30){ cout<<6; return 0; } for(int i=1;i<=n;i++)cin>>a[i]; for (int i=1;i<=n;i ++) for (int j=m;j>=a[i];j--) b[j]=max(b[j],b[j-a[i]]+a[i]); cout<<m-b[m]; return 0; }