Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
142124 | 方文轩 | 简单背包问题2 | C++ | 解答错误 | 40 | 0 MS | 360 KB | 432 | 2024-04-06 16:47:10 |
#include<bits/stdc++.h> using namespace std; int a[105],b[20005]; int main(){ int x,m; cin>>m>>x; for(int i=1;i<=x;i++){ cin>>a[i]; } int sum=0; b[0]=1; for(int i=1;i<=x;i++){ sum+=a[i]; for(int j=a[i];j<=sum;j++){ if(b[j-a[i]]==1){ b[j]=2; } } for(int j=a[i];j<=sum;j++){ if(b[j]==2) b[j]=1; } } for(int i=m;i>=1;i--){ if(b[i]==1){ cout<<m-i; return 0; } } }