Submission #3644282


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define repl(i,a,b) for(int i=(int)(a);(i)<(int)(b);++(i))
#define rep(i,n) repl(i,0,n)
#define all(x) (x).begin(),(x).end()
#define dbg(x) cout<<#x<<"="<<x<<endl
#define fi first
#define se second


typedef pair<int,int> P;

int N,M;
vector<P> ps;
int nxt[1000010][21];

int main(){
    memset(nxt,-1,sizeof(nxt));
    cin>>N>>M;
    rep(i,N){
        int a,b;
        cin>>a>>b;
        if(a>b){
            b+=M;
        }
        ps.push_back(P(a,b));
        ps.push_back(P(a+M,b+M));
    }
    sort(all(ps),[=](const P& a,const P& b){ return a.fi > b.fi; });

    {
        set<int> st;
        int i = 0;
        for (int j = M * 2 - 1; j >= 0; j--) {
            while (i<(int)ps.size()&&ps[i].fi == j) {
                st.insert(ps[i].se);
                i++;
            }
            if (st.size() == 0) nxt[j][0] = -1;
            else nxt[j][0] = *st.begin();
        }
    }

    rep(k,20){
        rep(i,M*2){
            if(nxt[i][k]==-1)nxt[i][k+1]=-1;
            else nxt[i][k+1]=nxt[nxt[i][k]][k];
        }
    }

    int res=1;
    rep(i,N*2){
        int a=ps[i].fi,b=ps[i].se;
        int lb=0,ub=N;
        while(ub-lb>1){
            int X=(ub+lb)/2;
            int idx=b;
            rep(k,21){
                if((X>>k)&1){
                    idx=nxt[idx][k];
                    if(idx==-1)break;
                }
            }
            if(idx!=-1&&idx<=a+M) lb=X;
            else ub=X;
        }
        res=max(res,lb+1);
    }
    cout<<res<<endl;

    return 0;
}

Submission Info

Submission Time
Task A - Anime Master
User WAsedAC1
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1647 Byte
Status RE
Exec Time 260 ms
Memory 93168 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 84
RE × 5
Set Name Test Cases
All 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 7, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 8, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9
Case Name Status Exec Time Memory
1 AC 22 ms 82304 KB
10 AC 22 ms 82304 KB
11 AC 22 ms 82304 KB
12 AC 22 ms 82304 KB
13 AC 22 ms 82304 KB
14 AC 22 ms 82304 KB
15 AC 22 ms 82304 KB
16 AC 22 ms 82304 KB
17 AC 22 ms 82304 KB
18 AC 22 ms 82304 KB
19 AC 21 ms 82304 KB
2 AC 22 ms 82304 KB
20 AC 22 ms 82304 KB
21 AC 21 ms 82304 KB
22 AC 22 ms 82304 KB
23 AC 22 ms 82304 KB
24 AC 22 ms 82304 KB
25 AC 21 ms 82304 KB
26 AC 22 ms 82304 KB
27 AC 22 ms 82304 KB
28 AC 22 ms 82304 KB
29 AC 22 ms 82304 KB
3 AC 21 ms 82304 KB
30 AC 21 ms 82304 KB
31 AC 22 ms 82304 KB
32 AC 21 ms 82304 KB
33 AC 22 ms 82304 KB
34 AC 22 ms 82304 KB
35 AC 22 ms 82304 KB
36 AC 22 ms 82304 KB
37 AC 22 ms 82304 KB
38 AC 22 ms 82304 KB
39 AC 22 ms 82304 KB
4 AC 22 ms 82304 KB
40 AC 22 ms 82304 KB
41 AC 22 ms 82304 KB
42 AC 22 ms 82304 KB
43 AC 22 ms 82304 KB
44 AC 22 ms 82304 KB
45 AC 22 ms 82304 KB
46 AC 22 ms 82304 KB
47 AC 22 ms 82304 KB
48 AC 22 ms 82304 KB
49 AC 22 ms 82304 KB
5 AC 22 ms 82304 KB
50 AC 21 ms 82304 KB
51 AC 22 ms 82304 KB
52 AC 22 ms 82304 KB
53 AC 22 ms 82304 KB
54 AC 22 ms 82304 KB
55 AC 22 ms 82304 KB
56 AC 22 ms 82304 KB
57 AC 22 ms 82304 KB
58 RE 185 ms 84468 KB
59 AC 260 ms 93168 KB
6 AC 22 ms 82304 KB
60 AC 177 ms 93168 KB
61 RE 192 ms 84468 KB
62 RE 192 ms 84468 KB
63 RE 193 ms 84468 KB
64 RE 193 ms 84468 KB
65 AC 125 ms 85112 KB
66 AC 174 ms 87412 KB
67 AC 229 ms 85368 KB
68 AC 30 ms 82688 KB
69 AC 31 ms 82432 KB
7 AC 22 ms 82304 KB
70 AC 37 ms 82688 KB
71 AC 30 ms 82304 KB
72 AC 28 ms 82304 KB
73 AC 39 ms 82304 KB
74 AC 29 ms 82560 KB
75 AC 36 ms 82688 KB
76 AC 47 ms 83072 KB
77 AC 41 ms 82688 KB
78 AC 39 ms 83072 KB
79 AC 30 ms 82560 KB
8 AC 21 ms 82304 KB
80 AC 25 ms 82432 KB
81 AC 30 ms 82688 KB
82 AC 39 ms 82816 KB
83 AC 36 ms 82688 KB
84 AC 46 ms 83324 KB
85 AC 44 ms 83196 KB
86 AC 41 ms 82688 KB
87 AC 38 ms 82816 KB
88 AC 28 ms 82688 KB
89 AC 39 ms 83196 KB
9 AC 21 ms 82432 KB