hdu1205吃糖果
来源:互联网 发布:35互联域名证书下载 编辑:程序博客网 时间:2024/05/14 21:36
吃糖果
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 35344 Accepted Submission(s): 10037
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
234 1 155 4 3 2 1
Sample Output
NoYesPlease use function scanfHintHint
题意不多说了,一个组合数学的思维题,考虑最大值,如果最大值比剩下的数的和加1还要大,则必不可能了。而如果max<=sum(剩下的数)+1,则可以,为什么呢?
可以想想,列出:O X O X O X O X O X O (O表示能放,X表示不能放) 组合数学插空法,可以看出这样的方法是最优的情况,所以最终判断一下即可。
#include<cstdio>#include<cstdlib>#include<iostream>#include<stack>#include<queue>#include<algorithm>#include<string>#include<cstring>#include<cmath>#include<vector>#include<map>#include<set>#define eps 1e-8#define zero(x) (((x>0?(x):-(x))-eps)#define mem(a,b) memset(a,b,sizeof(a))#define memmax(a) memset(a,0x3f,sizeof(a))#define pfn printf("\n")#define ll __int64#define ull unsigned long long#define sf(a) scanf("%d",&a)#define sf64(a) scanf("%I64d",&a)#define sf264(a,b) scanf("%I64d%I64d",&a,&b)#define sf364(a,b,c) scanf("%I64d%I64d%I64d",&a,&b,&c)#define sf2(a,b) scanf("%d%d",&a,&b)#define sf3(a,b,c) scanf("%d%d%d",&a,&b,&c)#define sf4(a,b,c,d) scanf("%d%d%d%d",&a,&b,&c,&d)#define sff(a) scanf("%f",&a)#define sfs(a) scanf("%s",a)#define sfs2(a,b) scanf("%s%s",a,b)#define sfs3(a,b,c) scanf("%s%s%s",a,b,c)#define sfd(a) scanf("%lf",&a)#define sfd2(a,b) scanf("%lf%lf",&a,&b)#define sfd3(a,b,c) scanf("%lf%lf%lf",&a,&b,&c)#define sfd4(a,b,c,d) scanf("%lf%lf%lf%lf",&a,&b,&c,&d)#define sfc(a) scanf("%c",&a)#define ull unsigned long long#define debug printf("***\n")const double PI = acos(-1.0);const double e = exp(1.0);const int INF = 0x7fffffff;;template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; }template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; }template<class T> inline T Min(T a, T b) { return a < b ? a : b; }template<class T> inline T Max(T a, T b) { return a > b ? a : b; }bool cmpbig(int a, int b){ return a>b; }bool cmpsmall(int a, int b){ return a<b; }using namespace std;int main(){ //freopen("data.in","r",stdin); int t; sf(t); while(t--) { int n; sf(n); int max_num=0; ll sum=0; while(n--) { int pos; sf(pos); sum+=pos; max_num=max(max_num,pos); } sum-=max_num;sum++; if(sum>=max_num) printf("Yes\n"); else printf("No\n"); } return 0;}
0 0
- HDU1205 吃糖果
- HDU1205:吃糖果
- 吃糖果(hdu1205数学)
- hdu1205-吃糖果
- hdu1205吃糖果
- hdu1205吃糖果
- hdu1205吃糖果
- HDU1205 吃糖果
- HDU1205 吃糖果【水题】
- Hdu1205 吃糖果
- HDU1205-吃糖果
- HDU1205 吃糖果
- 吃糖果||HDU1205
- HDU1205 吃糖果
- HDU1205 吃糖果【水题】
- hdu1205 吃糖果解题思路
- hdu1205——吃糖果
- 【鸽笼原理】HDU1205吃糖果
- js遍历一个div下的所有一个特定的标签
- 编程语言和软件的应用
- python(第二版)第四章答案
- xcode8 支持 ios7 编译
- SecureCRT 7.3.4 安装以及破解
- hdu1205吃糖果
- 关于kinect v2性能分析的一些论文
- 一个完整的请求与响应过程
- Spring 整合 Redis
- HTML5+开发移动app教程3-mui开发示例
- 赛码网,将功赎过问题,用C语言自己实现的一个程序,仅供参考
- hdu 1023Catalan出栈方案+大数
- morgan stanley 电话面试
- 自定义的一个复制Transform组件的功能和一个控制物体显隐的功能