| 16627 | 2025-05-07 11:02:08 | buzaszendvics | Telefonközpont | cpp17 | Elfogadva 100/100 | 483ms | 15208 KiB |
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
const int MAXN = 200005;
int log2val[MAXN];
int st[MAXN][20];
void buildSparseTable(const vector<int>& active, int n) {
for (int i = 1; i <= n; ++i)
st[i][0] = active[i];
for (int j = 1; (1 << j) <= n; ++j) {
for (int i = 1; i + (1 << j) - 1 <= n; ++i) {
st[i][j] = max(st[i][j - 1], st[i + (1 << (j - 1))][j - 1]);
}
}
}
int query(int l, int r) {
int len = r - l + 1;
int k = log2val[len];
return max(st[l][k], st[r - (1 << k) + 1][k]);
}
int main() {
int M, N, Q;
cin >> M >> N >> Q;
vector<int> diff(M + 2, 0);
vector<int> active(M + 2, 0);
// log2 előkészítés
for (int i = 2; i < MAXN; ++i)
log2val[i] = log2val[i / 2] + 1;
// Hívások feldolgozása
for (int i = 0; i < N; ++i) {
int k, v;
cin >> k >> v;
diff[k]++;
diff[v + 1]--;
}
// Aktív hívások számítása
for (int i = 1; i <= M; ++i) {
active[i] = active[i - 1] + diff[i];
}
// Sparse Table építése
buildSparseTable(active, M);
// Lekérdezések
for (int i = 0; i < Q; ++i) {
int l, r;
cin >> l >> r;
cout << query(l, r) << "\n";
}
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 2ms | 1120 KiB | ||||
| 2 | Elfogadva | 2ms | 1076 KiB | ||||
| subtask2 | 20/20 | ||||||
| 3 | Elfogadva | 2ms | 1076 KiB | ||||
| 4 | Elfogadva | 2ms | 1076 KiB | ||||
| 5 | Elfogadva | 2ms | 1076 KiB | ||||
| 6 | Elfogadva | 2ms | 1076 KiB | ||||
| 7 | Elfogadva | 2ms | 1160 KiB | ||||
| 8 | Elfogadva | 3ms | 1120 KiB | ||||
| 9 | Elfogadva | 2ms | 1076 KiB | ||||
| subtask3 | 20/20 | ||||||
| 10 | Elfogadva | 2ms | 1076 KiB | ||||
| 11 | Elfogadva | 2ms | 1076 KiB | ||||
| 12 | Elfogadva | 2ms | 1076 KiB | ||||
| 13 | Elfogadva | 2ms | 1076 KiB | ||||
| 14 | Elfogadva | 2ms | 1160 KiB | ||||
| 15 | Elfogadva | 3ms | 1120 KiB | ||||
| 16 | Elfogadva | 2ms | 1076 KiB | ||||
| 17 | Elfogadva | 12ms | 1336 KiB | ||||
| 18 | Elfogadva | 12ms | 1528 KiB | ||||
| 19 | Elfogadva | 12ms | 1528 KiB | ||||
| 20 | Elfogadva | 12ms | 1528 KiB | ||||
| 21 | Elfogadva | 12ms | 1332 KiB | ||||
| 22 | Elfogadva | 12ms | 1520 KiB | ||||
| 23 | Elfogadva | 12ms | 1332 KiB | ||||
| subtask4 | 60/60 | ||||||
| 24 | Elfogadva | 2ms | 1076 KiB | ||||
| 25 | Elfogadva | 2ms | 1076 KiB | ||||
| 26 | Elfogadva | 2ms | 1076 KiB | ||||
| 27 | Elfogadva | 2ms | 1076 KiB | ||||
| 28 | Elfogadva | 2ms | 1160 KiB | ||||
| 29 | Elfogadva | 3ms | 1120 KiB | ||||
| 30 | Elfogadva | 2ms | 1076 KiB | ||||
| 31 | Elfogadva | 12ms | 1336 KiB | ||||
| 32 | Elfogadva | 12ms | 1528 KiB | ||||
| 33 | Elfogadva | 12ms | 1528 KiB | ||||
| 34 | Elfogadva | 12ms | 1528 KiB | ||||
| 35 | Elfogadva | 12ms | 1332 KiB | ||||
| 36 | Elfogadva | 12ms | 1520 KiB | ||||
| 37 | Elfogadva | 12ms | 1332 KiB | ||||
| 38 | Elfogadva | 479ms | 15208 KiB | ||||
| 39 | Elfogadva | 474ms | 15200 KiB | ||||
| 40 | Elfogadva | 477ms | 15204 KiB | ||||
| 41 | Elfogadva | 483ms | 15204 KiB | ||||
| 42 | Elfogadva | 470ms | 15156 KiB | ||||
| 43 | Elfogadva | 472ms | 15156 KiB | ||||
| 44 | Elfogadva | 469ms | 15204 KiB | ||||