// 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 | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 30/30 | ||||||
| 1 | Elfogadva | 1ms | 508 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 2ms | 316 KiB | ||||
| 4 | Elfogadva | 2ms | 316 KiB | ||||
| 5 | Elfogadva | 4ms | 316 KiB | ||||
| 6 | Elfogadva | 2ms | 316 KiB | ||||
| 7 | Elfogadva | 2ms | 316 KiB | ||||
| subtask2 | 0/30 | ||||||
| 1 | Időlimit túllépés | 1.098s | 2664 KiB | ||||
| 2 | Időlimit túllépés | 1.1s | 2488 KiB | ||||
| subtask3 | 0/40 | ||||||
| 1 | Elfogadva | 2ms | 316 KiB | ||||
| 2 | Időlimit túllépés | 1.087s | 2100 KiB | ||||
| 3 | Időlimit túllépés | 1.087s | 2812 KiB | ||||
| 4 | Időlimit túllépés | 1.087s | 3068 KiB | ||||
| 5 | Elfogadva | 93ms | 3892 KiB | ||||
| 6 | Elfogadva | 85ms | 3892 KiB | ||||