Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
142116 | 方文轩 | 简单背包问题2 | C++ | 解答错误 | 0 | 0 MS | 288 KB | 421 | 2024-04-06 16:43:37 |
#include<bits/stdc++.h> using namespace std; int a[105],b[10005]; 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; } }