180662025-09-26 09:53:57ercseferencTelefonközpontcpp17Accepted 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;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask220/20
3Accepted1ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
8Accepted2ms316 KiB
9Accepted2ms316 KiB
subtask320/20
10Accepted1ms316 KiB
11Accepted2ms316 KiB
12Accepted2ms316 KiB
13Accepted2ms316 KiB
14Accepted2ms316 KiB
15Accepted2ms316 KiB
16Accepted2ms316 KiB
17Accepted12ms564 KiB
18Accepted12ms612 KiB
19Accepted12ms564 KiB
20Accepted12ms704 KiB
21Accepted12ms564 KiB
22Accepted12ms756 KiB
23Accepted12ms564 KiB
subtask460/60
24Accepted1ms316 KiB
25Accepted2ms316 KiB
26Accepted2ms316 KiB
27Accepted2ms316 KiB
28Accepted2ms316 KiB
29Accepted2ms316 KiB
30Accepted2ms316 KiB
31Accepted12ms564 KiB
32Accepted12ms612 KiB
33Accepted12ms564 KiB
34Accepted12ms704 KiB
35Accepted12ms564 KiB
36Accepted12ms756 KiB
37Accepted12ms564 KiB
38Accepted483ms14072 KiB
39Accepted479ms13880 KiB
40Accepted488ms13820 KiB
41Accepted486ms13812 KiB
42Accepted479ms13832 KiB
43Accepted476ms13624 KiB
44Accepted469ms13876 KiB