提交时间:2024-04-06 16:46:52

运行 ID: 142123

#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; } } }