zoukankan      html  css  js  c++  java
  • Codeforces Round #577 (Div. 2) B

    Codeforces Round #577 (Div. 2)

    B - Zero Array

    You are given an array a1,a2,…,an.

    In one operation you can choose two elements ai and aj (i≠j) and decrease each of them by one.

    You need to check whether it is possible to make all the elements equal to zero or not.

    Input

    The first line contains a single integer n (2≤n≤105) — the size of the array.

    The second line contains n integers a1,a2,…,an (1≤ai≤109) — the elements of the array.

    Output

    Print "YES" if it is possible to make all elements zero, otherwise print "NO".

    Examples

    input

    4

    1 1 2 2

    output

    YES

    input

    6

    1 2 3 4 5 6

    output

    NO

    Note

    In the first example, you can make all elements equal to zero in 3 operations:

    • Decrease a1 and a2,
    • Decrease a3 and a4,
    • Decrease a3 and a4

    In the second example, one can show that it is impossible to make all elements equal to zero.

     

    题意:题目意思是给你n个数,你可以进行任意次操作:对序列里的两个数都减一,

    问你最后能不能把序列n个数都变成0。

    思路:显然如果n个数的总和是奇数,肯定不能把n个数都变0。

    还有就是序列中最大的数比总和的一半还大,即最大值的两倍大于总和,

    这也是不行的,因为就算你拿另外n-1个数对最大值去操作,最后这个数还是不会变0,

    然后其他情况都是可以的。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<algorithm>
     6 #include<map>
     7 #include<set>
     8 #include<vector>
     9 #include<queue>
    10 #include<list>
    11 //#include<unordered_map>
    12 #include<stack>
    13 using namespace std;
    14 #define ll long long 
    15 const int mod=1e9+7;
    16 const int inf=1e9+7;
    17  
    18 const int maxn=1e5+10;
    19  
    20 int main()
    21 {
    22     ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    23     
    24     int n;
    25     cin>>n;
    26     ll int num;
    27     ll int maxx=-1,sum;
    28     for(int i=0;i<n;i++)
    29     {
    30         cin>>num;
    31         sum+=num;
    32         
    33         if(num>maxx)
    34             maxx=num;
    35     }
    36     
    37     if(sum&1||maxx*2>sum)
    38         return cout<<"NO"<<endl,0;
    39     else
    40         return cout<<"YES"<<endl,0;
    41     
    42     return 0;
    43 }
    大佬见笑,,
  • 相关阅读:
    Redis的特点
    JavaScript语言和JQuery技术
    学习javaDay13
    学习JavaDay12
    学习JavaDay11
    学习JavaDay10
    学习JavaDay09
    学习JavaDay08
    java的语法基础(二)
    java语法基础(一)
  • 原文地址:https://www.cnblogs.com/xwl3109377858/p/11305984.html
Copyright © 2011-2022 走看看