hdu1205喫糖果

       HDU--1205---喫糖果

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 27152    Accepted Submission(s): 7684


Problem Description
HOHO,終於從Speakless手上贏走了所有的糖果,是Gardon喫糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起喫,喜歡先喫一種,下一次喫另一種,這樣;可是Gardon不知道是否存在一種喫糖果的順序使得他能把所有糖果都喫完?請你寫個程序幫忙計算一下。
 


Input
第一行有一個整數T,接下來T組數據,每組數據佔2行,第一行是一個整數N(0<N<=1000000),第二行是N個數,表示N種糖果的數目Mi(0<Mi<=1000000)。
 


Output
對於每組數據,輸出一行,包含一個"Yes"或者"No"。
 


Sample Input
2 3 4 1 1 5 5 4 3 2 1
 


Sample Output
No Yes
Hint
Hint
Please use function scanf
代碼如下:
#include<stdio.h>
#include<algorithm>
using  namespace std;
const int maxn = 1000000+10
//全局變量
long long  a[maxn];   //因爲糖果的數目介於0和1000000之間,提示我要用long long ...
int main()
{
    int i,j,T,n;
    long long sum;
    long long max;
    scanf("%d",&T);
    while(T--)
    {
     scanf("%d",&n);
     for(i=0;i<n;i++)
     scanf("%d",&a[i]);
     sort(a,a+n); //排序
     max=a[n-1];
     sum=0;
     for(i=0;i<n-1;i++) //求除最大值之外其他數字的和
     	sum=sum+a[i];
     if(sum>=max-1)
     	printf("Yes\n");
     else
    	 printf("No\n");

    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章