提交时间:2024-04-08 21:17:56
运行 ID: 142710
#include<bits/stdc++.h> using namespace std; int c[101],f[101]; int n; void count(int i,int sum){ if(i==n+1){ return ; } int a=sum+c[i],b=sum-c[i]; if(!f[a] and a<c[0]){ f[a]=1; count(i+1,a); } if(!f[b] and b>0){ f[b]=1; count(i+1,b); } count(i+1,sum); } int main(){ while(cin>>n){ for(int i=1;i<=n;i++){ f[i]=0; } c[0]=0; for(int i=1;i<=n;i++){ int x; cin>>c[i]; if(c[0]<c[i]){ c[0]=c[i]; } } count(1,0); for(int i=1;i<=c[0];i++){ if(!f[i]){ cout<<i<<endl; break; } } } }