题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6512
解题思路:参考这题https://blog.csdn.net/weixin_43768644/article/details/88733545
代码:(话说快读为什么会超时啊,是我不配用快读吗)
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
ll a[50];
inline ll readin()
{
ll ans=0,flag;char c = getchar();
while (c>'9'||c<'0'){if (c=='-')flag = -1;c=getchar();}
while (c<='9' && c>='0'){ans = ans*10+c-'0';c=getchar();}
return ans*flag;
}
int main()
{
int n;
ll x;
while (~scanf("%d",&n)){
for (int i=0;i<n;i++){
scanf("%lld",&x);
if (i>46) continue;
a[i] = x;
}
if (n>46) printf("YES\n");
else if (n<=2) printf("NO\n");
else {
sort(a,a+n);
int j;
for (j=2;j<n;j++){
if (a[j]<a[j-1]+a[j-2]){printf("YES\n");break;}
}
if (j>=n) printf("NO\n");
}
}
return 0;
}