10821 | 2024-04-15 19:50:10 | bovizdb | Telefonközpont | cpp17 | Elfogadva 100/100 | 216ms | 26192 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 | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1888 KiB | ||||
2 | Elfogadva | 3ms | 2128 KiB | ||||
subtask2 | 20/20 | ||||||
3 | Elfogadva | 3ms | 2500 KiB | ||||
4 | Elfogadva | 3ms | 2784 KiB | ||||
5 | Elfogadva | 3ms | 2992 KiB | ||||
6 | Elfogadva | 3ms | 2836 KiB | ||||
7 | Elfogadva | 3ms | 3160 KiB | ||||
8 | Elfogadva | 3ms | 3112 KiB | ||||
9 | Elfogadva | 3ms | 3244 KiB | ||||
subtask3 | 20/20 | ||||||
10 | Elfogadva | 3ms | 2500 KiB | ||||
11 | Elfogadva | 3ms | 2784 KiB | ||||
12 | Elfogadva | 3ms | 2992 KiB | ||||
13 | Elfogadva | 3ms | 2836 KiB | ||||
14 | Elfogadva | 3ms | 3160 KiB | ||||
15 | Elfogadva | 3ms | 3112 KiB | ||||
16 | Elfogadva | 3ms | 3244 KiB | ||||
17 | Elfogadva | 6ms | 3860 KiB | ||||
18 | Elfogadva | 6ms | 3976 KiB | ||||
19 | Elfogadva | 6ms | 4224 KiB | ||||
20 | Elfogadva | 6ms | 4296 KiB | ||||
21 | Elfogadva | 6ms | 4224 KiB | ||||
22 | Elfogadva | 6ms | 4332 KiB | ||||
23 | Elfogadva | 6ms | 4444 KiB | ||||
subtask4 | 60/60 | ||||||
24 | Elfogadva | 3ms | 2500 KiB | ||||
25 | Elfogadva | 3ms | 2784 KiB | ||||
26 | Elfogadva | 3ms | 2992 KiB | ||||
27 | Elfogadva | 3ms | 2836 KiB | ||||
28 | Elfogadva | 3ms | 3160 KiB | ||||
29 | Elfogadva | 3ms | 3112 KiB | ||||
30 | Elfogadva | 3ms | 3244 KiB | ||||
31 | Elfogadva | 6ms | 3860 KiB | ||||
32 | Elfogadva | 6ms | 3976 KiB | ||||
33 | Elfogadva | 6ms | 4224 KiB | ||||
34 | Elfogadva | 6ms | 4296 KiB | ||||
35 | Elfogadva | 6ms | 4224 KiB | ||||
36 | Elfogadva | 6ms | 4332 KiB | ||||
37 | Elfogadva | 6ms | 4444 KiB | ||||
38 | Elfogadva | 216ms | 24600 KiB | ||||
39 | Elfogadva | 210ms | 25696 KiB | ||||
40 | Elfogadva | 209ms | 24968 KiB | ||||
41 | Elfogadva | 209ms | 25008 KiB | ||||
42 | Elfogadva | 208ms | 25756 KiB | ||||
43 | Elfogadva | 209ms | 26104 KiB | ||||
44 | Elfogadva | 210ms | 26192 KiB |