Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
142123 方文轩 简单背包问题2 C++ 解答错误 0 0 MS 356 KB 506 2024-04-06 16:46:52

Tests(0/5):


#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=1;i<=sum;i++){ if(b[i]==1) cout<<i<<" "; } cout<<endl; for(int i=m;i>=1;i--){ if(b[i]==1){ cout<<m-i; return 0; } } }


测评信息: