# include<bits/stdc++.h>
using namespace std;
int n,en,mn;
vector<int>v;
int find(int x ,int c ,int y , int t){
return t+(c+1)*abs(x-y);
}
void pp(int x,int l , int r ,int c , int t){
if(t>=mn){
return ;
}
if(c==n){
mn=min(mn,find(x,c,en,t));
return;
}
if(r<l) return ;
pp(v[l],l+1,r,c+1,find(x,c,v[l],t)+1);
pp(v[r],l,r-1,c+1,find(x,c,v[l],t)+1);
}
int main(){
cin>>n;
v=vector<int>(n);
for(auto &x:v) cin>>x;
sort(v.begin(),v.end());
int q;
cin>>q;
while(q--){
int s,t;
cin>>s>>en>>t;
mn=1e9;
pp(s,0,n-1,0,0);
if(mn<=t){
cout<<"YES"<<endl;
}
else cout<<"NO"<<endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |