Submission #889793

#TimeUsernameProblemLanguageResultExecution timeMemory
889793vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
17 / 100
57 ms97364 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; const int N = 5001; int a[N], pref[N]; int ans[N][N]; int main(){ int n, q; cin >> n >> q; a[0]=1e9+7; for(int i=1; i<=n; i++){ cin>>a[i]; } for(int i=1; i<=n; i++) { pref[i]=i-1; while(a[i]>=a[pref[i]]) { pref[i]=pref[pref[i]]; } } for(int i=1; i<=n; i++){ ans[i][i]=0; for(int j=i+1; j<=n; j++){ ans[i][j]=ans[i][j-1]; if(pref[j]>=i){ ans[i][j]=max(ans[i][j], a[pref[j]] + a[j]); } } } while(q--){ int l, r, k; cin >> l >> r >> k; if(ans[l][r]<=k){ cout<<"1\n"; } else{ cout<<"0\n"; } } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...