哥德巴赫猜想:任一大于5的整数都可写成三个质数之和。
由此可以得到两种情况:
1.强哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和6=3+3......
(未被证明,但是同时也没有被推翻,即在本体的范围内强哥猜成立)
2.弱哥德巴赫猜想:任何一个大于5的奇数都能被表示成三个奇质数的和
(已经被证明)
本题有三种情况:
  1.n=1时,即A为质数时成立
  2.n=2时,可以分为两种情况:(1).和为偶数时,使用强哥德巴赫猜想。(2).和为奇数时,当
且仅当和sum-2为质数时成立,因为奇数只能由一个奇数和一个偶数相加得到,除了2以外的偶数
都不是质数,所以只能是2+a,即a为质数时才成立,所以减去2。
  3.n>2时,此时就可以运用弱哥德巴赫猜想了,如n=3时,只要和大于5,也就是和为6时是最小
的成立条件(2+2+2)。以此类推,只要满足和sum>=2*n即可。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e8+5;

int zhi(ll x)
{
    if(x==1) return 0;
    for(ll i=2;i<=sqrt(x);i++)
    {
        if(x%i==0)
            return 0;
    }
    return 1;
}

int main()
{
    ll n,sum=0,a[N];
    cin>>n;
    for(ll i=1;i<=n;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    if(sum<2*n) cout<<"NO";
    else if(n==1)
    {
        if(zhi(sum)) cout<<"YES";
        else cout<<"NO";
    }
    else if(n==2&&sum%2==1)
    {
        if(zhi(sum-2)) cout<<"YES";
        else cout<<"NO";
    }
    else cout<<"YES";
    
    return 0;
}