提交时间:2024-04-08 21:11:05
运行 ID: 142708
#include<bits/stdc++.h> using namespace std; int c[101],f[101]; int n; void count(int i,int sum){ if(i==n){ 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); } } int main(){ while(cin>>n){ memset(f+1,0,sizeof(f)); c[0]=1; for(int i=1;i<=n;i++){ cin>>c[i]; f[c[i]]=1; 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; } } } }