| 10826 | 2024-04-16 08:23:41 | TomaSajt | Telefonközpont | cpp17 | Elfogadva 100/100 | 167ms | 18496 KiB |
#include <bits/stdc++.h>
#define int long long
using namespace std;
struct segtree {
int len = 0;
vector<int> v;
segtree(const vector<int>& data)
: len(data.size()), v(data.size() * 4, INT_MIN) {
build(data, 0, len, 0);
}
void build(const vector<int>& data, int lx, int rx, int x) {
if (lx + 1 == rx) {
v[x] = data[lx];
return;
}
int m = (lx + rx) / 2;
build(data, lx, m, 2 * x + 1);
build(data, m, rx, 2 * x + 2);
v[x] = max(v[2 * x + 1], v[2 * x + 2]);
}
int get(int ql, int qr) {
return get(ql, qr, 0, len, 0);
}
int get(int ql, int qr, int xl, int xr, int x) {
if (qr <= xl || xr <= ql) return INT_MIN;
if (ql <= xl && xr <= qr) return v[x];
int m = (xl + xr) / 2;
return max(get(ql, qr, xl, m, 2 * x + 1), get(ql, qr, m, xr, 2 * x + 2));
}
};
signed main() {
ios::sync_with_stdio(0), cin.tie(0);
int m, n, q;
cin >> m >> n >> q;
vector<int> diffs(m + 2), x(m + 2);
while (n--) {
int s, e;
cin >> s >> e;
diffs[s]++;
diffs[e + 1]--;
}
partial_sum(diffs.begin(), diffs.end(), x.begin());
segtree st(x);
while (q--) {
int l, r;
cin >> l >> r;
cout << st.get(l, r + 1) << '\n';
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 3ms | 1832 KiB | ||||
| 2 | Elfogadva | 3ms | 2056 KiB | ||||
| subtask2 | 20/20 | ||||||
| 3 | Elfogadva | 3ms | 2292 KiB | ||||
| 4 | Elfogadva | 3ms | 2456 KiB | ||||
| 5 | Elfogadva | 3ms | 2676 KiB | ||||
| 6 | Elfogadva | 3ms | 2888 KiB | ||||
| 7 | Elfogadva | 3ms | 2976 KiB | ||||
| 8 | Elfogadva | 3ms | 3180 KiB | ||||
| 9 | Elfogadva | 3ms | 3068 KiB | ||||
| subtask3 | 20/20 | ||||||
| 10 | Elfogadva | 3ms | 2292 KiB | ||||
| 11 | Elfogadva | 3ms | 2456 KiB | ||||
| 12 | Elfogadva | 3ms | 2676 KiB | ||||
| 13 | Elfogadva | 3ms | 2888 KiB | ||||
| 14 | Elfogadva | 3ms | 2976 KiB | ||||
| 15 | Elfogadva | 3ms | 3180 KiB | ||||
| 16 | Elfogadva | 3ms | 3068 KiB | ||||
| 17 | Elfogadva | 6ms | 3588 KiB | ||||
| 18 | Elfogadva | 6ms | 3880 KiB | ||||
| 19 | Elfogadva | 6ms | 3756 KiB | ||||
| 20 | Elfogadva | 6ms | 4028 KiB | ||||
| 21 | Elfogadva | 6ms | 4060 KiB | ||||
| 22 | Elfogadva | 6ms | 4000 KiB | ||||
| 23 | Elfogadva | 6ms | 4008 KiB | ||||
| subtask4 | 60/60 | ||||||
| 24 | Elfogadva | 3ms | 2292 KiB | ||||
| 25 | Elfogadva | 3ms | 2456 KiB | ||||
| 26 | Elfogadva | 3ms | 2676 KiB | ||||
| 27 | Elfogadva | 3ms | 2888 KiB | ||||
| 28 | Elfogadva | 3ms | 2976 KiB | ||||
| 29 | Elfogadva | 3ms | 3180 KiB | ||||
| 30 | Elfogadva | 3ms | 3068 KiB | ||||
| 31 | Elfogadva | 6ms | 3588 KiB | ||||
| 32 | Elfogadva | 6ms | 3880 KiB | ||||
| 33 | Elfogadva | 6ms | 3756 KiB | ||||
| 34 | Elfogadva | 6ms | 4028 KiB | ||||
| 35 | Elfogadva | 6ms | 4060 KiB | ||||
| 36 | Elfogadva | 6ms | 4000 KiB | ||||
| 37 | Elfogadva | 6ms | 4008 KiB | ||||
| 38 | Elfogadva | 167ms | 17864 KiB | ||||
| 39 | Elfogadva | 165ms | 18196 KiB | ||||
| 40 | Elfogadva | 165ms | 18300 KiB | ||||
| 41 | Elfogadva | 160ms | 18260 KiB | ||||
| 42 | Elfogadva | 160ms | 18252 KiB | ||||
| 43 | Elfogadva | 162ms | 18368 KiB | ||||
| 44 | Elfogadva | 164ms | 18496 KiB | ||||