首页 > 代码库 > 1304吃糖果
1304吃糖果
题意:有N种糖果,每种有Mi(0<Mi<=1000000)个,是否存在一种吃糖果顺序使得相邻糖果不相同(先吃这一种,再吃下一种)。
分析:插空,如果最多的一种糖果,能被剩下所有的糖果插空,则存在,即ans - 1 <= sum - ans.
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<set> 6 #include<map> 7 #include<algorithm> 8 #include<cstdlib> 9 #include<vector>10 #include<cmath>11 #include<sstream>12 using namespace std;13 int main()14 {15 int N;16 while(scanf("%d", &N) != EOF)17 {18 int sum = 0;19 int ans = 0;20 for(int i = 0; i < N; ++i)21 {22 int x;23 scanf("%d", &x);24 ans = max(ans, x);25 sum += x;26 }27 if(ans - 1 > sum - ans)28 printf("No\n");29 else printf("Yes\n");30 }31 return 0;32 }
1304吃糖果
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。