题目:
给定一个n个数的数字序列,每个数不超过1e9,有Q此询问,每次询问一个区间是否存在三个数可以组成一
个三角形,输入YES或NO(1<=n,Q<=1e5);
分析:
这道题就是你所想的简单没那么复杂,暴力yyds。
源码:
#include<iostream>
using namespace std;
const int N=1e5+10;
int arr[N];
int check(int a,int b,int c)
{
int d=0;
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
return 1;
}else{
return 0;
}
}
int main(void)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>arr[i];
}
int q;
cin>>q;
while(q--)
{
int l,r,ww=0;
cin>>l>>r;
for(int i=l+1;i<r;i++)
{
if(check(arr[i-1],arr[i],arr[i+1])==1)
{
ww++;
break;
}
}
if(ww==0)
{
cout<<"NO"<<endl;
}else{
cout<<"YES"<<endl;
}
}
return 0;
}
最后一次更新于2022-02-13
0 条评论