10974 2024. 04. 24 20:35:10 MagyarKendeSZLG Telefonközpont cpp17 Időlimit túllépés 40/100 582ms 7432 KiB
#include <bits/stdc++.h>
using namespace std;
constexpr int MAXN = 2e5, INF = 1e9;

int t[4 * MAXN + 1], lazy[4 * MAXN + 1];

void push(int curr) {
    t[curr * 2] += lazy[curr];
    t[curr * 2 + 1] += lazy[curr];
    lazy[curr * 2] += lazy[curr];
    lazy[curr * 2 + 1] += lazy[curr];
    lazy[curr] = 0;
}

void update(int curr, int tl, int tr, int l, int r) {
    if (tr < tl || r < l) {
        return;
    }
    if (tr == tl) {
        t[curr]++;
        lazy[curr]++;
    } else {
        push(curr);
        int tmid = (tl + tr) / 2;
        update(curr * 2, tl, tmid, l, min(tmid, r));
        update(curr * 2 + 1, tmid + 1, tr, max(tmid + 1, l), r);
        t[curr] = max(t[curr * 2], t[curr * 2 + 1]);
    }
}

int query(int curr, int tl, int tr, int l, int r) {
    if (tr < tl || r < l) {
        return -INF;
    }
    if (tl == l && tr == r) {
        return t[curr];
    }
    push(curr);
    int tmid = (tl + tr) / 2;
    return max(
        query(curr * 2, tl, tmid, l, min(tmid, r)),
        query(curr * 2 + 1, tmid + 1, tr, max(l, tmid + 1), r)
    );
}

int main() {
    cin.tie(0), ios::sync_with_stdio(0);

    int M, N, Q;
    cin >> M >> N >> Q;

    while (N--) {
        int B, E;
        cin >> B >> E;
        update(1, 0, M - 1, B - 1, E - 1);
    }

    while (Q--) {
        int B, E;
        cin >> B >> E;
        cout << query(1, 0, M - 1, B - 1, E - 1) << "\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1912 KiB
2 Elfogadva 3ms 2108 KiB
subtask2 20/20
3 Elfogadva 4ms 2468 KiB
4 Elfogadva 4ms 2676 KiB
5 Elfogadva 4ms 2992 KiB
6 Elfogadva 4ms 3204 KiB
7 Elfogadva 4ms 3516 KiB
8 Elfogadva 4ms 3852 KiB
9 Elfogadva 4ms 3944 KiB
subtask3 20/20
10 Elfogadva 4ms 2468 KiB
11 Elfogadva 4ms 2676 KiB
12 Elfogadva 4ms 2992 KiB
13 Elfogadva 4ms 3204 KiB
14 Elfogadva 4ms 3516 KiB
15 Elfogadva 4ms 3852 KiB
16 Elfogadva 4ms 3944 KiB
17 Elfogadva 111ms 3956 KiB
18 Elfogadva 179ms 4012 KiB
19 Elfogadva 111ms 4096 KiB
20 Elfogadva 112ms 4248 KiB
21 Elfogadva 144ms 4224 KiB
22 Elfogadva 178ms 4080 KiB
23 Elfogadva 203ms 4068 KiB
subtask4 0/60
24 Elfogadva 4ms 2468 KiB
25 Elfogadva 4ms 2676 KiB
26 Elfogadva 4ms 2992 KiB
27 Elfogadva 4ms 3204 KiB
28 Elfogadva 4ms 3516 KiB
29 Elfogadva 4ms 3852 KiB
30 Elfogadva 4ms 3944 KiB
31 Elfogadva 111ms 3956 KiB
32 Elfogadva 179ms 4012 KiB
33 Elfogadva 111ms 4096 KiB
34 Elfogadva 112ms 4248 KiB
35 Elfogadva 144ms 4224 KiB
36 Elfogadva 178ms 4080 KiB
37 Elfogadva 203ms 4068 KiB
38 Időlimit túllépés 575ms 7100 KiB
39 Időlimit túllépés 574ms 7176 KiB
40 Időlimit túllépés 565ms 7248 KiB
41 Időlimit túllépés 546ms 7164 KiB
42 Időlimit túllépés 582ms 7432 KiB
43 Időlimit túllépés 550ms 7372 KiB
44 Időlimit túllépés 582ms 7376 KiB