(HDU)1205 -- 吃糖果

Posted ACDoge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(HDU)1205 -- 吃糖果相关的知识,希望对你有一定的参考价值。

题目链接:http://vjudge.net/problem/HDU-1205

分析:我们只要考虑数目最多的那种糖果,假设有N个,它中间有N-1个空,如果剩下的所有糖果可以将这N-1个空填上,那么肯定可以达到题目的要求。因为考虑的已经是数目最多的糖果了,所以一定存在某种顺序将剩下的糖果全部隔开。

 

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <iostream>
 5 #include <algorithm>
 6 #include <string>
 7 #include <cstdlib>
 8 
 9 using namespace std;
10 
11 long long num[1000010];
12 
13 int main()
14 {
15     long long n,i,sum;
16     int t;
17     scanf("%d",&t);
18     while(t--)
19     {
20         scanf("%I64d",&n);
21         for(i=1;i<=n;i++)
22             scanf("%I64d",&num[i]);
23         sort(num+1,num+1+n);
24         sum=0;
25         for(i=1;i<n;i++)
26             sum+=num[i];
27         if(num[i]<=sum+1) printf("Yes\n");
28         else printf("No\n");
29     }
30     return 0;
31 }

 

以上是关于(HDU)1205 -- 吃糖果的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1205 吃糖果(鸽笼原理)

(HDU)1205 -- 吃糖果

Hdu 1205 吃糖果

hdu_1205 吃糖果

HDU - 1205 吃糖果

HDU 1205