161832025-04-11 11:04:13algoproSzökőkútcpp17Időlimit túllépés 30/1001.1s3892 KiB
// UUID: 97b2e7f2-7230-4dbc-b0b4-b504b863dd5c
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

int32_t main() {
    cin.tie(0), ios::sync_with_stdio(0);
    int n, q;
    cin >> n >> q;
    vector<int> d(n + 1, 1e15), c(n + 1, 1e15), p(n + 1, n);
    for (int i = 0; i < n; i++) cin >> d[i] >> c[i];
    for (int i = n - 1; ~i; i--) {
        int j = i + 1;
        while (d[j] <= d[i]) j = p[j];
        p[i] = j;
    }
    while (q--) {
        int r, v, sum = 0;
        cin >> r >> v;
        r--;
        while (sum + c[r] < v) {
            sum += c[r];
            r = p[r];
        }
        cout << (r < n ? r + 1 : 0) << "\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask130/30
1Elfogadva1ms508 KiB
2Elfogadva1ms316 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva4ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
subtask20/30
1Időlimit túllépés1.098s2664 KiB
2Időlimit túllépés1.1s2488 KiB
subtask30/40
1Elfogadva2ms316 KiB
2Időlimit túllépés1.087s2100 KiB
3Időlimit túllépés1.087s2812 KiB
4Időlimit túllépés1.087s3068 KiB
5Elfogadva93ms3892 KiB
6Elfogadva85ms3892 KiB