提交时间:2024-04-09 16:22:11
运行 ID: 142778
#include<bits/stdc++.h> using namespace std; int s,n,w[105]; bool used[105]; bool a(int m) { if(m==0)return 1; else { for(int i=1;i<=n;i++) { if(w[i]<=m&&used[i]==0) { used[i]=1; if(a(m-w[i]))return 1; used[i]=0; } } return 0; } } int main() { while(cin>>n) { for(int i=1;i<=n;i++)cin>>w[i]; sort(w+1,w+1+n); int s=1; while(a(s)) { s++; memset(used,0,sizeof(used)); } cout<<s<<endl; } return 0; }