Submission #1040332

#TimeUsernameProblemLanguageResultExecution timeMemory
1040332vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
30 / 100
3066 ms10396 KiB
#include <bits/stdc++.h> using namespace std; const int maxn=1e6+5; int n, m; int w[maxn], pref[maxn]; bool check(int l, int r, int k) { int mx=0; int res=0; for(int i=l; i<=r; i++) { if(mx>w[i]) res=max(res ,mx+w[i]); mx=max(mx ,w[i]); } return k>=res; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m; int mn=1e9; for(int i=1; i<=n; i++) { cin >> w[i]; mn=min(mn, w[i]); } for(int i=2; i<=n; i++) { pref[i]=pref[i-1]; if(w[i-1]<=w[i]) pref[i]++; } int l, r, k; for(int i=1; i<=m; i++) { cin >> l >> r >> k; if(mn>k) { if(pref[r]-pref[l]==r-l) cout << 1 << "\n"; else cout << 0 << "\n"; } else { if(check(l, r, k)) cout << 1 << "\n"; else cout << 0 << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...