【策略】HDOJ-1205-吃糖果

【题目链接:HDOJ-1205】

  思路:直接看题毫无思路。。。 看了别人的思路,到现在还懵懵懂懂。

       只要除了数目最多的糖果以外的其他所有糖果的数目之和加1(小心这里要用int64),大于等于数目最多的糖果数,就能吃完,否则不能。

 //HDOJ-1205-吃糖果
/*
只要出了数目最多的糖果以外,其他所有糖果的数目之和加1(long long 或 __int64)
大于等于数量最多的糖果数,就能吃完,否则不能。
*/
#include<cstdio>
#define max(a,b) a > b ? a : b
int main(){
int n;
scanf("%d",&n);
while(n--){
long long m,max = ,sum = ;
scanf("%d",&m);
for(int i = ;i < m;i++){
int a;
scanf("%d",&a);
if(a > max)
max = a;//找出数量最多的那一种 糖果
sum += a;//糖果总数
}
sum -= max;
//如果为字数大于等于最多糖果数,就可以
printf( max <= sum + ? "Yes\n" : "No\n");
}
return ;
}
上一篇:采用thinkphp框架实现添加管理员功能


下一篇:ACM/ICPC 之 ACM计算机工厂-EK算法(POJ3436)