109752024-04-24 20:52:49MagyarKendeSZLGTelefonközpontcpp17Elfogadva 100/100179ms14052 KiB
#include <bits/stdc++.h>
using namespace std;
constexpr int MAXN = 2e5, INF = 1e9;

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

void build(const vector<int>& v, int curr, int tl, int tr) {
    if (tl == tr) {
        t[curr] = v[tl];
    } else {
        int tmid = (tl + tr) / 2;
        build(v, curr * 2, tl, tmid);
        build(v, curr * 2 + 1, tmid + 1, tr);
        t[curr] = max(t[curr * 2], t[curr * 2 + 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;
}

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;
    vector<int> v(M + 1);
    while (N--) {
        int B, E;
        cin >> B >> E;
        v[B - 1]++;
        v[E]--;
    }
    for (int i = 1; i < M; i++) {
        v[i] += v[i - 1];
    }

    build(v, 1, 0, M - 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
1Elfogadva3ms1836 KiB
2Elfogadva3ms2044 KiB
subtask220/20
3Elfogadva3ms2400 KiB
4Elfogadva3ms2596 KiB
5Elfogadva3ms2916 KiB
6Elfogadva3ms2764 KiB
7Elfogadva3ms3020 KiB
8Elfogadva3ms2976 KiB
9Elfogadva3ms3236 KiB
subtask320/20
10Elfogadva3ms2400 KiB
11Elfogadva3ms2596 KiB
12Elfogadva3ms2916 KiB
13Elfogadva3ms2764 KiB
14Elfogadva3ms3020 KiB
15Elfogadva3ms2976 KiB
16Elfogadva3ms3236 KiB
17Elfogadva6ms3516 KiB
18Elfogadva6ms3764 KiB
19Elfogadva6ms3840 KiB
20Elfogadva6ms4048 KiB
21Elfogadva6ms4132 KiB
22Elfogadva6ms4156 KiB
23Elfogadva6ms4364 KiB
subtask460/60
24Elfogadva3ms2400 KiB
25Elfogadva3ms2596 KiB
26Elfogadva3ms2916 KiB
27Elfogadva3ms2764 KiB
28Elfogadva3ms3020 KiB
29Elfogadva3ms2976 KiB
30Elfogadva3ms3236 KiB
31Elfogadva6ms3516 KiB
32Elfogadva6ms3764 KiB
33Elfogadva6ms3840 KiB
34Elfogadva6ms4048 KiB
35Elfogadva6ms4132 KiB
36Elfogadva6ms4156 KiB
37Elfogadva6ms4364 KiB
38Elfogadva179ms13740 KiB
39Elfogadva179ms13952 KiB
40Elfogadva172ms13920 KiB
41Elfogadva172ms14048 KiB
42Elfogadva172ms14052 KiB
43Elfogadva172ms13932 KiB
44Elfogadva178ms13952 KiB