题目链接:http://codeforces.com/contest/766/problem/B
题意:给你n条木棍,问你能不能选三根组成三角形
解析:排个序,扫一遍,判断两边之和大于第三边即可
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
const int maxn = 1e6+100;
const int inf = 0x7fffffff;
int a[maxn];
int main(void)
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
int flag = 0;
for(int i=2;i<n;i++)
{
if(a[i]<a[i-1]+a[i-2])
{
flag = 1;
break;
}
}
if(flag)
puts("YES");
else
puts("NO");
return 0;
}