【第22期】观点:IT 行业加班,到底有没有价值?

HDU 1205 吃糖果 (抽屉原理)

原创 2015年11月18日 22:44:52
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
 

Author
Gardon



将两种糖果平均分成两组,然后根据抽屉原理,只要里面有一个数大于sum/2,就不可能吃完。。。



#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
const int maxn=1000000+10;
LL a[maxn];
int main()
{
	int t,i,j,n,num;
	LL sum,aver,mmax;
	scanf("%d",&t);
	while(t--) {
		sum=0;
		mmax=0;
		scanf("%d",&n);
		for(i=1;i<=n;i++) {
			scanf("%lld",&a[i]);
			sum+=a[i];
			mmax=max(mmax,a[i]);
		}
		aver=(sum+1)/2;
		if(mmax<=aver) printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}








版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

[startrelatedarticles]

{relatedtitle}

{relateddes}
[endrelatedarticles] [startrelatedarticlesad1]

{relatedtitle}

{relateddes}
[endrelatedarticlesad1] [startrelatedarticlesad2]
{relateddes}
[endrelatedarticlesad2]
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)