109742024-04-24 20:35:10MagyarKendeSZLGTelefonközpontcpp17Időlimit túllépés 40/100582ms7432 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1912 KiB
2Elfogadva3ms2108 KiB
subtask220/20
3Elfogadva4ms2468 KiB
4Elfogadva4ms2676 KiB
5Elfogadva4ms2992 KiB
6Elfogadva4ms3204 KiB
7Elfogadva4ms3516 KiB
8Elfogadva4ms3852 KiB
9Elfogadva4ms3944 KiB
subtask320/20
10Elfogadva4ms2468 KiB
11Elfogadva4ms2676 KiB
12Elfogadva4ms2992 KiB
13Elfogadva4ms3204 KiB
14Elfogadva4ms3516 KiB
15Elfogadva4ms3852 KiB
16Elfogadva4ms3944 KiB
17Elfogadva111ms3956 KiB
18Elfogadva179ms4012 KiB
19Elfogadva111ms4096 KiB
20Elfogadva112ms4248 KiB
21Elfogadva144ms4224 KiB
22Elfogadva178ms4080 KiB
23Elfogadva203ms4068 KiB
subtask40/60
24Elfogadva4ms2468 KiB
25Elfogadva4ms2676 KiB
26Elfogadva4ms2992 KiB
27Elfogadva4ms3204 KiB
28Elfogadva4ms3516 KiB
29Elfogadva4ms3852 KiB
30Elfogadva4ms3944 KiB
31Elfogadva111ms3956 KiB
32Elfogadva179ms4012 KiB
33Elfogadva111ms4096 KiB
34Elfogadva112ms4248 KiB
35Elfogadva144ms4224 KiB
36Elfogadva178ms4080 KiB
37Elfogadva203ms4068 KiB
38Időlimit túllépés575ms7100 KiB
39Időlimit túllépés574ms7176 KiB
40Időlimit túllépés565ms7248 KiB
41Időlimit túllépés546ms7164 KiB
42Időlimit túllépés582ms7432 KiB
43Időlimit túllépés550ms7372 KiB
44Időlimit túllépés582ms7376 KiB