F - 喜欢砍竹子的黑泽明
Description
众所周知黑泽明武士时代的电影无人可超越。殊不知热衷于武士电影的黑泽明也钟爱武士刀,因为他喜欢太阳在西北角45度时拔出他长1米56的秋水,低吟一句:雷之呼吸,一之型,霹雳一闪,看不到他袖口的抖动,0.36秒后,竹子从平滑的切口滑下,倒塌。但是黑泽明的剑术有些奇怪,他每次必须选中两个目标,准确的砍掉这两个目标的2厘米,现在你想知道他能否砍光所有竹子。
(即最后每个竹子的高度为0)
Input
有两行,第一行一个数字n (2 <= n <= 100000),表示有n个竹子,第二行有n个分开的数h1, h2…hn(1 <= hi <= 1000000000),表示每个竹子的高度是多少厘米。
Output
如果黑泽明能砍光所有的竹子,输出“YES”,否则输出“NO”。(不带引号)
Sample
Input
4
2 2 4 4
Output
YES
Hint
第一个样例,第一次砍第一个第二个,第二次砍第三个第四个,第三次砍第三个第四个。
第二样例,不可能使所有高度变成0。
如果输入:
4
3 4 6 8
则应该输出:
NO
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[100005],n,i,flag=0,m=0,j;
long long s=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
if(a[i]%2!=0)
flag=1;
}
sort(a,a+n);
if(s%4!=0||a[n-1]>s/2||flag)
printf("NO\n");
else printf("YES\n");
return 0;
}