#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
int a[N + 5] = {0};
int main()
{
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
sort(a, a + n);
bool flag = false;
int p, q, r;
for(int i = 0; i < n - 2; i++)
{
p = a[i], q = a[i + 1], r = a[i + 2];
if(p + q > r && p + r > q && q + r > p)
{
flag = true;
break;
}
}
if(flag)
printf("YES\n");
else
printf("NO\n");
return 0;
}
本文探讨了一个关于使用三条线段构建非退化三角形的问题。通过给出特定条件下的输入输出示例,介绍了如何验证给定长度的线段能否形成具有正面积的三角形。文章还提供了一段C++代码实现,利用排序和遍历策略来解决该问题。
802

被折叠的 条评论
为什么被折叠?



