http://acm.hdu.edu.cn/showproblem.php?pid=1205
题意:HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样;可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下。
思路:看最多的一种是不是多于总数的一半即可。
#include<bits/stdc++.h>
using namespace std;
long long T,n,m,sum,maxx;
int main()
{
cin>>T;
while(T--)
{
sum=maxx=0;
cin>>n;
while(n--)
{
scanf("%lld",&m);
sum+=m;
maxx=max(maxx,m);
}
if(maxx*2<=sum+1)puts("Yes");
else puts("No");
}
return 0;
}