162862025-04-20 10:37:24horkaTelefonközpontcpp17Accepted 100/100143ms17300 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=2e5+2,k=18;
int lg[c],st[c][k];
int kerd(int l, int r)
{
    int p=lg[r-l+1];
    return max(st[l][p],st[r-(1<<p)+1][p]);
}
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int m,n,q; cin>>m>>n>>q;
    for(int i=2; i<=m; i++)
        lg[i]=lg[i/2]+1;
    vector<int> v(m+2);
    while(n--)
    {
        int l,r; cin>>l>>r;
        v[l]++,v[r+1]--;
    }
    for(int i=1; i<=m; i++)
    {
        v[i]+=v[i-1];
        st[i][0]=v[i];
    }
    for(int j=1; j<k; j++)
        for(int i=1; i+(1<<(j-1))<=m; i++)
            st[i][j]=max(st[i][j-1],st[i+(1<<(j-1))][j-1]);
    while(q--)
    {
        int l,r; cin>>l>>r;
        cout<<kerd(l,r)<<"\n";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask220/20
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms436 KiB
9Accepted1ms316 KiB
subtask320/20
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
14Accepted1ms316 KiB
15Accepted1ms436 KiB
16Accepted1ms316 KiB
17Accepted3ms568 KiB
18Accepted3ms808 KiB
19Accepted3ms564 KiB
20Accepted3ms564 KiB
21Accepted3ms564 KiB
22Accepted3ms568 KiB
23Accepted3ms820 KiB
subtask460/60
24Accepted1ms316 KiB
25Accepted1ms316 KiB
26Accepted1ms316 KiB
27Accepted1ms316 KiB
28Accepted1ms316 KiB
29Accepted1ms436 KiB
30Accepted1ms316 KiB
31Accepted3ms568 KiB
32Accepted3ms808 KiB
33Accepted3ms564 KiB
34Accepted3ms564 KiB
35Accepted3ms564 KiB
36Accepted3ms568 KiB
37Accepted3ms820 KiB
38Accepted143ms17204 KiB
39Accepted143ms17204 KiB
40Accepted128ms17300 KiB
41Accepted128ms17204 KiB
42Accepted120ms17260 KiB
43Accepted120ms17204 KiB
44Accepted120ms17204 KiB