Submission #973402

#TimeUsernameProblemLanguageResultExecution timeMemory
973402colossal_pepeHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
17 / 100
3089 ms8272 KiB
#include <bits/stdc++.h> using namespace std; int n, m; vector<int> a; int cost(int l, int r) { vector<int> c(n, 0); stack<int> st; for (int i = 0; i <= r; i++) { while (not st.empty() and a[st.top()] <= a[i]) st.pop(); if (not st.empty()) c[st.top()] = a[st.top()] + a[i]; st.push(i); } int ret = 0; for (int i = l; i <= r; i++) { ret = max(ret, c[i]); } return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); if (n > 5000) exit(0); cin >> n >> m; a.resize(n); for (int &x : a) { cin >> x; } while (m--) { int l, r, k; cin >> l >> r >> k; l--, r--; cout << (cost(l, r) <= k) << '\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...