HDU - 1205 吃糖果
Posted 晓风微微
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU - 1205 吃糖果相关的知识,希望对你有一定的参考价值。
因为某场比赛某位同学打表没有打对,而且因为在上一场训练赛中被写进了题目里,他悲痛欲绝,不光在群里把昵称改成了 不会打表且没有去过九里校区的xxxxx,而且希望通过吃糖来缓解自己的压力。他非常挑食,从来不连续吃两颗相同的糖。他有N种糖可以选择,希望你帮他计算是否能一次性吃完所有的糖。如果可以请输出Yes,否则输出No
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 Please use function scanf
解法:
最多的那一堆糖果有n个,只需要有n-1个其它的糖果间隔开来就好了
代码:
#include <bits/stdc++.h> using namespace std; int n; int a[1111111]; void deal(){ scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); int bj=1; long long sum=0; for(int i=0;i<n-1;i++){ sum+=a[i]; } if(sum>=a[n-1]-1) printf("Yes\n"); else printf("No\n"); } int main() { int t; scanf("%d",&t); while(t--) deal(); return 0; }
以上是关于HDU - 1205 吃糖果的主要内容,如果未能解决你的问题,请参考以下文章