Submission #101873
Source Code Expand
#include <iostream> #include <algorithm> using namespace std; const int MAX_N=1e5; const int MAX_LOG_N=17; int N,M; int s[MAX_N*2],t[MAX_N*2]; pair<int,int> ps[MAX_N*4]; int next[MAX_LOG_N][MAX_N*2]; void solve(){ int res=0; for(int i=0;i<N;i++){ if(t[i]<s[i]) t[i]+=M; s[N+i]=s[i]+M; t[N+i]=t[i]+M; } for(int i=0;i<N*2;i++){ ps[i]=make_pair(t[i],i); ps[N*2+i]=make_pair(s[i],N*2+i); } sort(ps,ps+N*4); int last=-1; for(int i=N*4-1;i>=0;i--){ int id=ps[i].second; if(id<N*2) next[0][id]=last; else{ id-=N*2; if(last<0 || t[last]>t[id]) last=id; } } for(int k=0;k+1<MAX_LOG_N;k++){ for(int i=0;i<N*2;i++){ if(next[k][i]<0) next[k+1][i]=-1; else next[k+1][i]=next[k][next[k][i]]; } } for(int i=0;i<N;i++){ int tmp=0,j=i; for(int k=MAX_LOG_N-1;k>=0;k--){ int j2=next[k][j]; if(j2>=0 && t[j2]<=s[i]+M){ j=j2; tmp|=1<<k; } } res=max(res,tmp+1); } cout<<res<<endl; } int main() { while(cin>>N>>M && N|M){ for(int i=0;i<N;i++) cin>>s[i]>>t[i]; solve(); } }
Submission Info
Submission Time | |
---|---|
Task | A - Anime Master |
User | Running |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 1126 Byte |
Status | AC |
Exec Time | 257 ms |
Memory | 18844 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 27 ms | 3992 KB |
10 | AC | 26 ms | 3960 KB |
11 | AC | 27 ms | 3936 KB |
12 | AC | 26 ms | 4004 KB |
13 | AC | 27 ms | 4004 KB |
14 | AC | 27 ms | 4004 KB |
15 | AC | 26 ms | 3996 KB |
16 | AC | 27 ms | 4000 KB |
17 | AC | 26 ms | 3960 KB |
18 | AC | 26 ms | 3956 KB |
19 | AC | 27 ms | 4004 KB |
2 | AC | 27 ms | 3876 KB |
20 | AC | 34 ms | 3956 KB |
21 | AC | 26 ms | 3868 KB |
22 | AC | 25 ms | 4000 KB |
23 | AC | 26 ms | 4000 KB |
24 | AC | 25 ms | 4000 KB |
25 | AC | 25 ms | 3996 KB |
26 | AC | 26 ms | 4012 KB |
27 | AC | 26 ms | 3996 KB |
28 | AC | 26 ms | 4004 KB |
29 | AC | 26 ms | 4004 KB |
3 | AC | 26 ms | 3932 KB |
30 | AC | 27 ms | 3876 KB |
31 | AC | 27 ms | 4004 KB |
32 | AC | 27 ms | 3884 KB |
33 | AC | 27 ms | 4004 KB |
34 | AC | 26 ms | 3996 KB |
35 | AC | 27 ms | 4060 KB |
36 | AC | 25 ms | 4128 KB |
37 | AC | 25 ms | 4000 KB |
38 | AC | 25 ms | 4132 KB |
39 | AC | 27 ms | 4012 KB |
4 | AC | 26 ms | 3960 KB |
40 | AC | 25 ms | 4120 KB |
41 | AC | 26 ms | 4008 KB |
42 | AC | 27 ms | 4000 KB |
43 | AC | 26 ms | 3996 KB |
44 | AC | 27 ms | 4000 KB |
45 | AC | 26 ms | 4008 KB |
46 | AC | 25 ms | 4000 KB |
47 | AC | 26 ms | 4000 KB |
48 | AC | 27 ms | 3880 KB |
49 | AC | 26 ms | 3880 KB |
5 | AC | 26 ms | 4008 KB |
50 | AC | 26 ms | 3928 KB |
51 | AC | 27 ms | 4128 KB |
52 | AC | 26 ms | 4008 KB |
53 | AC | 26 ms | 3884 KB |
54 | AC | 25 ms | 4012 KB |
55 | AC | 24 ms | 3996 KB |
56 | AC | 26 ms | 4004 KB |
57 | AC | 26 ms | 4004 KB |
58 | AC | 216 ms | 18732 KB |
59 | AC | 210 ms | 18716 KB |
6 | AC | 25 ms | 3872 KB |
60 | AC | 194 ms | 18728 KB |
61 | AC | 216 ms | 18724 KB |
62 | AC | 218 ms | 18844 KB |
63 | AC | 220 ms | 18680 KB |
64 | AC | 257 ms | 18736 KB |
65 | AC | 80 ms | 8104 KB |
66 | AC | 133 ms | 11684 KB |
67 | AC | 84 ms | 8368 KB |
68 | AC | 34 ms | 4708 KB |
69 | AC | 27 ms | 4132 KB |
7 | AC | 26 ms | 3872 KB |
70 | AC | 32 ms | 4388 KB |
71 | AC | 26 ms | 3992 KB |
72 | AC | 26 ms | 4124 KB |
73 | AC | 26 ms | 4000 KB |
74 | AC | 29 ms | 4384 KB |
75 | AC | 33 ms | 4648 KB |
76 | AC | 39 ms | 5032 KB |
77 | AC | 34 ms | 4516 KB |
78 | AC | 38 ms | 5032 KB |
79 | AC | 29 ms | 4256 KB |
8 | AC | 26 ms | 4004 KB |
80 | AC | 28 ms | 4132 KB |
81 | AC | 35 ms | 4904 KB |
82 | AC | 35 ms | 4652 KB |
83 | AC | 32 ms | 4596 KB |
84 | AC | 43 ms | 5400 KB |
85 | AC | 42 ms | 5312 KB |
86 | AC | 33 ms | 4520 KB |
87 | AC | 34 ms | 4764 KB |
88 | AC | 34 ms | 4652 KB |
89 | AC | 43 ms | 5412 KB |
9 | AC | 26 ms | 3872 KB |