180662025-09-26 09:53:57ercseferencTelefonközpontcpp17Elfogadva 100/100488ms14072 KiB
#include <bits/stdc++.h>
using namespace std;
int lg(int a){
    int t=0;
    while(a>0){a=a/2; t++;}
    return t-1;}
int main()
{
    int m,n,q; cin>>m>>n>>q;
    int sp[200002][18];
    vector<int>a(m+1);
    fill(a.begin(),a.end(),0);
    for(int i=0; i<n; i++){
        int x,y; cin>>x>>y; a[x]++; a[y+1]--;}
    for(int i=2; i<=m+1; i++){a[i]+=a[i-1]; sp[i][0]=a[i];}
    for(int j=1; j<18; j++)
        for(int i=1; i+(1<<(j-1))<=m; i++)
            sp[i][j]=max(sp[i][j-1],sp[i+(1<<(j-1))][j-1]);
    for(int i=0; i<q; i++){
        int x,y; cin>>x>>y; int t=lg(y-x+1);
        cout<<max(sp[x][t],sp[y-(1<<t)+1][t])<<endl;}
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask220/20
3Elfogadva1ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
subtask320/20
10Elfogadva1ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms316 KiB
13Elfogadva2ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva12ms564 KiB
18Elfogadva12ms612 KiB
19Elfogadva12ms564 KiB
20Elfogadva12ms704 KiB
21Elfogadva12ms564 KiB
22Elfogadva12ms756 KiB
23Elfogadva12ms564 KiB
subtask460/60
24Elfogadva1ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva2ms316 KiB
30Elfogadva2ms316 KiB
31Elfogadva12ms564 KiB
32Elfogadva12ms612 KiB
33Elfogadva12ms564 KiB
34Elfogadva12ms704 KiB
35Elfogadva12ms564 KiB
36Elfogadva12ms756 KiB
37Elfogadva12ms564 KiB
38Elfogadva483ms14072 KiB
39Elfogadva479ms13880 KiB
40Elfogadva488ms13820 KiB
41Elfogadva486ms13812 KiB
42Elfogadva479ms13832 KiB
43Elfogadva476ms13624 KiB
44Elfogadva469ms13876 KiB