Problem Description
李华是一个十分聪明的同学,据说他的智商高达250多,
但是今天他竟然被一道题给卡住了,是什么题呢?
题目内容为: 给你n个数,然后让你判断能否用这n个数中的一些数,使他们的和组成所有的非负整数。
当然这n个数中的任意一个数都可以无限的使用。
简单吧!但是李华就是不会,如果你要是做出来了就狂虐他了。
Input
多组输入第一行输入一个n (n<=100000)
接下来一行输入n个数,每个数都是非负整数并且小于2^32;
Output
满足条件就输出YES;
否则就输出NO;
否则就输出NO;
Example Input
10 11 7 3 1 2 17 13 23 19 0
Example Output
YES
#include <iostream>
#include<algorithm>
using namespace std;
int main()
{
long n;
long long a[100001];
while(cin>>n)
{
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
int flag=0;
if(a[0]==0)//判断是否有0 1两个数;
for(int i=1;i<n;i++)
{
if(a[i]==1)
{
flag=1;
break;
}
}
if(flag==1)
cout<<"YES\n";
else
cout<<"NO\n";
}
return 0;
}