Submission #418051

#TimeUsernameProblemLanguageResultExecution timeMemory
418051ChaskaFire (JOI20_ho_t5)C++11
7 / 100
177 ms18260 KiB
#include <bits/stdc++.h> #define F first #define S second #define ll long long using namespace std; typedef pair<long long,long long> ii; typedef pair<int,ii> i3; const int N = 2e5+5; i3 x[N]; ll n,q; ll a[N],b[N]; ll st[4*N]; void ini(int no,int u,int v) { if (u==v) { st[no] = a[u]; return; } int mid = (u+v)/2; ini(no*2+1,u,mid); ini(no*2+2,mid+1,v); st[no] = max(st[no*2+1],st[no*2+2]); return; } ll r; void get(int no,int in,int fin,int u,int v) { if (fin < u || in > v) return; if (u<=in && fin <= v) { r = max(r,st[no]); return; } int mid= (in+fin)/2; get(no*2+1,in,mid,u,v); get(no*2+2,mid+1,fin,u,v); return; } int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> n >> q; for (int i=1;i<=n;i++) cin >> a[i]; for (int i=0;i<q;i++) cin >> x[i].F >> x[i].S.F >> x[i].S.S; ini(0,1,n); for (int i=0;i<q;i++) { r = 0; get(0,1,n,max(1ll,x[i].S.F-x[i].F),x[i].S.F); cout << r << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...