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;
}