给定?n?个整数 a[1]?,a[2]?,…,a[n]?,每个数字表示一条线段的长度,请问能否用这些线段,围成一个封闭的?n?边形?
n?条线段能围成?n?边形的充分必要条件是:任何一条线段的长度都严格小于剩余 n?1?条线段的长度之和。
第一行:单个整数n
第二行:n?个整数?1,2,…,a[1]?,a[2]?,…,a[n]?
如果可以围成?n?边形,输出?Yes
,否则输出?No
。
1≤a[i]?≤1,000,000,000;
对于30%?的数据,1≤n≤100;
对于?60% 的数据,1≤n≤5,000;
对于?100%?的数据,1≤n≤100,000;
输入
6? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ?3
1 3 5 2 4 6? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?1 1 2
输出
Yes? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? No
#include<bits/stdc++.h>
using namespace std;
int n;
long long a[100005],sum;
int main() {
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum+=a[i];
}
for(int i=1;i<=n;i++)
{
if(a[i]>=sum-a[i])
{
cout<<"No";
return 0;
}
}
cout<<"Yes";
return 0;
}