题目:
给定一个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; }