题目描述
给定 𝑛n 个整数 𝑎1,𝑎2,…,𝑎𝑛a1,a2,…,an,每个数字表示一条线段的长度,请问能否用这些线段,围成一个封闭的 𝑛n 边形?
𝑛n 条线段能围成 𝑛n 边形的条件是:任何一条线段的长度都严格小于剩余 𝑛−1n−1 条线段的长度之和。
输入格式
第一行:单个整数 𝑛n
第二行:𝑛n 个整数 𝑎1,𝑎2,…,𝑎𝑛a1,a2,…,an
输出格式
如果可以围成 𝑛n 边形,输出 Yes
,否则输出 No
。
数据范围
- 1≤𝑎𝑖≤1,000,000,0001≤ai≤1,000,000,000;
- 对于 30%30% 的数据,1≤𝑛≤1001≤n≤100;
- 对于 60%60% 的数据,1≤𝑛≤5,0001≤n≤5,000;
- 对于 100%100% 的数据,1≤𝑛≤100,0001≤n≤100,000;
样例数据
输入:
6
1 3 5 2 4 6
输出:
Yes
输入:
3
1 1 2
输出:
No
详见代码:
#include<iostream>
using namespace std;
int main()
{
int n;
long long sum=0;
int ma=0;
cin>>n;
for(int i=0;i<n;i++)
{
int t;
scanf("%d",&t);
sum+=t;
if(t>ma)ma=t;
}
if(ma<sum-ma)
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
return 0;
}