Submission #1190125

#TimeUsernameProblemLanguageResultExecution timeMemory
1190125lokesh0110Fountain (eJOI20_fountain)C++17
30 / 100
1594 ms2076 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, q; cin >> n >> q; vector<int> D(n + 1), C(n + 1), next_larger(n + 1, 0); for (int i = 1; i <= n; ++i) { cin >> D[i] >> C[i]; } // Preprocess next_larger using a monotonic stack stack<int> stk; for (int i = n; i >= 1; --i) { while (!stk.empty() && D[stk.top()] <= D[i]) stk.pop(); if (!stk.empty()) next_larger[i] = stk.top(); stk.push(i); } while (q--) { int r, v; cin >> r >> v; int cur = r; while (true) { if (v <= C[cur]) { cout << cur << '\n'; break; } v -= C[cur]; if (next_larger[cur] == 0) { cout << 0 << '\n'; break; } cur = next_larger[cur]; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...