这道题目是很水的题目。不解释。。。。。
#include <iostream>
#include <stdlib.h>
using namespace std;
int cmp(const void*a,const void *b)
{
int *t1=(int *)a,*t2=(int *)b;
return *t1-*t2;
}
int main()
{
int n,fine,min,sum;
int a[1001];
while(cin >>n)
{
min=100001;
fine=0;
sum=1;
for(int i=0;i<n;i++)
{
cin >>a[i];
if(a[i]==1)
fine=1;
else if(a[i]<min && a[i])
min=a[i];
}
if(fine==0)
{
cout <<"1"<<endl;
continue;
}
if(min!=2)
{
cout <<"2"<<endl;
continue;
}
qsort(a,n,sizeof(a[0]),cmp);
//fine=0;
for(int i=0;i<n;i++)
{
if(a[i]==0)
continue;
if(sum<a[i])
{
break;
}
sum+=a[i];
}
cout <<sum<<endl;
}
return 0;
}