108212024-04-15 19:50:10bovizdbTelefonközpontcpp17Elfogadva 100/100216ms26192 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define pll pair<ll, ll>
#define fs first
#define sc second
#define vll vector<ll>
#define v2ll vector<vll>

ll m, n, q;
priority_queue<pll> calls;
priority_queue<ll> finish;
vll tree;

ll ans(ll a, ll b)
{
    ll res = 0;
    while(a <= b)
    {
        if (a%2 == 1)
            res = max(res, tree[a++]);
        if (b%2 == 0)
            res = max(res, tree[b--]);
        a /= 2;
        b /= 2;
    }
    return res;
}

void solve()
{
    cin >> m >> n >> q;
    ll k = 1;
    while(k < m)
        k *= 2;
    tree.resize(2*k);
    for (ll i = 0; i < n; i++)
    {
        ll k, v;
        cin >> k >> v;
        k--; v--;
        calls.push({-k, -v});
    }
    ll pcs = 0;
    for (ll i = 0; i < m; i++)
    {
        while(!calls.empty() && -(calls.top().fs) == i)
        {
            pcs++;
            finish.push(calls.top().sc);
            calls.pop();
        }
        while(finish.size() > 0 && -finish.top() < i)
        {
            pcs--;
            finish.pop();
        }
        tree[k+i] = pcs;
    }
    for (ll i = 2*k-1; i > 0; i-=2)
    {
        tree[i/2] = max(tree[i], tree[i-1]);
    }
    for (ll i = 0; i < q; i++)
    {
        ll l, r;
        cin >> l >> r;
        l--; r--;
        cout << ans(l+k, r+k) << "\n";
    }
}
 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1888 KiB
2Elfogadva3ms2128 KiB
subtask220/20
3Elfogadva3ms2500 KiB
4Elfogadva3ms2784 KiB
5Elfogadva3ms2992 KiB
6Elfogadva3ms2836 KiB
7Elfogadva3ms3160 KiB
8Elfogadva3ms3112 KiB
9Elfogadva3ms3244 KiB
subtask320/20
10Elfogadva3ms2500 KiB
11Elfogadva3ms2784 KiB
12Elfogadva3ms2992 KiB
13Elfogadva3ms2836 KiB
14Elfogadva3ms3160 KiB
15Elfogadva3ms3112 KiB
16Elfogadva3ms3244 KiB
17Elfogadva6ms3860 KiB
18Elfogadva6ms3976 KiB
19Elfogadva6ms4224 KiB
20Elfogadva6ms4296 KiB
21Elfogadva6ms4224 KiB
22Elfogadva6ms4332 KiB
23Elfogadva6ms4444 KiB
subtask460/60
24Elfogadva3ms2500 KiB
25Elfogadva3ms2784 KiB
26Elfogadva3ms2992 KiB
27Elfogadva3ms2836 KiB
28Elfogadva3ms3160 KiB
29Elfogadva3ms3112 KiB
30Elfogadva3ms3244 KiB
31Elfogadva6ms3860 KiB
32Elfogadva6ms3976 KiB
33Elfogadva6ms4224 KiB
34Elfogadva6ms4296 KiB
35Elfogadva6ms4224 KiB
36Elfogadva6ms4332 KiB
37Elfogadva6ms4444 KiB
38Elfogadva216ms24600 KiB
39Elfogadva210ms25696 KiB
40Elfogadva209ms24968 KiB
41Elfogadva209ms25008 KiB
42Elfogadva208ms25756 KiB
43Elfogadva209ms26104 KiB
44Elfogadva210ms26192 KiB