139182025-01-09 10:52:41horvathabelTelefonközpontcpp17Elfogadva 100/100368ms4028 KiB
#include <bits/stdc++.h>
using namespace std;
int v[800001];
vector<int> t;
void build(int ind, int l, int r){
	if (l==r){
		 v[ind]=t[l];
		 return;
	}
	int m=(l+r)/2;
	build(ind*2, l, m);
	build(ind*2+1, m+1, r);
	v[ind]=max(v[ind*2], v[ind*2+1]);
}
int ask(int ind, int l, int r, int ql, int qr){
	if (ql>qr) return -1;
	if (l==ql && r==qr) return v[ind];
	int m=(l+r)/2;
	return max(ask(ind*2, l, m, ql, min(qr, m)),ask(ind*2+1, m+1, r, max(ql, m+1), qr));

}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
	int n,m,k;
	cin>>n>>m>>k;
	t.resize(n+2,0);
	for (int i=0; i<m;i++){
		int a,b;
		cin>>a>>b;
		t[a]++;
		t[b+1]--;
	}
	for (int i=1;i<=n;i++){
		t[i]=t[i-1]+t[i];
	}
	build(1, 1, n);
	for (int i=0; i<k;i++){
		int a,b;
		cin>>a>>b;
		cout<<ask(1,1,n,a,b)<<endl;
	}

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva1ms316 KiB
subtask220/20
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva2ms548 KiB
subtask320/20
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms316 KiB
13Elfogadva2ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva2ms548 KiB
17Elfogadva9ms508 KiB
18Elfogadva9ms320 KiB
19Elfogadva9ms500 KiB
20Elfogadva9ms316 KiB
21Elfogadva9ms316 KiB
22Elfogadva8ms316 KiB
23Elfogadva9ms508 KiB
subtask460/60
24Elfogadva2ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva2ms548 KiB
31Elfogadva9ms508 KiB
32Elfogadva9ms320 KiB
33Elfogadva9ms500 KiB
34Elfogadva9ms316 KiB
35Elfogadva9ms316 KiB
36Elfogadva8ms316 KiB
37Elfogadva9ms508 KiB
38Elfogadva358ms3864 KiB
39Elfogadva368ms4028 KiB
40Elfogadva365ms3860 KiB
41Elfogadva354ms3860 KiB
42Elfogadva354ms3892 KiB
43Elfogadva358ms3864 KiB
44Elfogadva358ms3856 KiB