Submission #386785


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
int a,b;
int s[200000],t[200000];
pair<int,int> ps[400000];
int next[30][200000];
void solve(){
	int res=0;
	for(int i=0;i<a;i++){
		if(t[i]<s[i])t[i]+=b;
		s[a+i]=s[i]+b;
		t[a+i]=t[i]+b;
	}
	for(int i=0;i<a*2;i++){
		ps[i]=make_pair(t[i],i);
		ps[a*2+i]=make_pair(s[i],a*2+i);
	}
	std::sort(ps,ps+a*4);
	int last=-1;
	for(int i=a*4-1;i>=0;i--){
		int id=ps[i].second;
		if(id<a*2){
			next[0][id]=last;
		}else {
			id-=a*2;
			if(last<0||t[last]>t[id]){
				last=id;
			}
		}
	}
	for(int k=0;k+1<30;k++){
		for(int i=0;i<a*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<a;i++){
		int tmp=0,j=i;
		for(int k=29;k>=0;k--){
			int j2=next[k][j];
			if(j2>=0&&t[j2]<=s[i]+b){
				j=j2;
				tmp|=1<<k;
			}
		}
		res=max(res,tmp+1);
	}
	printf("%d\n",res);
}
int main(){
	scanf("%d%d",&a,&b);
	for(int i=0;i<a;i++)scanf("%d%d",s+i,t+i);
	solve();
}

Submission Info

Submission Time
Task A - Anime Master
User tozangezan
Language C++ (GCC 4.4.7)
Score 100
Code Size 1005 Byte
Status AC
Exec Time 253 ms
Memory 29264 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:51: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
./Main.cpp:52: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 89
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 115 ms 4428 KB
10 AC 37 ms 4332 KB
11 AC 36 ms 4316 KB
12 AC 35 ms 4476 KB
13 AC 37 ms 4340 KB
14 AC 36 ms 4344 KB
15 AC 37 ms 4340 KB
16 AC 37 ms 4336 KB
17 AC 36 ms 4308 KB
18 AC 35 ms 4344 KB
19 AC 38 ms 4332 KB
2 AC 36 ms 4348 KB
20 AC 35 ms 4368 KB
21 AC 34 ms 4344 KB
22 AC 37 ms 4328 KB
23 AC 37 ms 4328 KB
24 AC 35 ms 4308 KB
25 AC 38 ms 4348 KB
26 AC 36 ms 4348 KB
27 AC 37 ms 4324 KB
28 AC 38 ms 4336 KB
29 AC 37 ms 4312 KB
3 AC 37 ms 4332 KB
30 AC 36 ms 4436 KB
31 AC 42 ms 4324 KB
32 AC 36 ms 4344 KB
33 AC 35 ms 4368 KB
34 AC 36 ms 4344 KB
35 AC 37 ms 4348 KB
36 AC 38 ms 4328 KB
37 AC 35 ms 4436 KB
38 AC 37 ms 4332 KB
39 AC 35 ms 4348 KB
4 AC 37 ms 4324 KB
40 AC 37 ms 4336 KB
41 AC 36 ms 4328 KB
42 AC 37 ms 4340 KB
43 AC 35 ms 4304 KB
44 AC 35 ms 4360 KB
45 AC 36 ms 4368 KB
46 AC 36 ms 4328 KB
47 AC 36 ms 4348 KB
48 AC 35 ms 4344 KB
49 AC 35 ms 4348 KB
5 AC 37 ms 4348 KB
50 AC 37 ms 4348 KB
51 AC 35 ms 4344 KB
52 AC 37 ms 4332 KB
53 AC 37 ms 4352 KB
54 AC 35 ms 4340 KB
55 AC 36 ms 4340 KB
56 AC 38 ms 4344 KB
57 AC 37 ms 4340 KB
58 AC 186 ms 29176 KB
59 AC 202 ms 29176 KB
6 AC 36 ms 4344 KB
60 AC 184 ms 29180 KB
61 AC 193 ms 29256 KB
62 AC 189 ms 29260 KB
63 AC 208 ms 29264 KB
64 AC 253 ms 29180 KB
65 AC 82 ms 11376 KB
66 AC 129 ms 17652 KB
67 AC 88 ms 11760 KB
68 AC 46 ms 5640 KB
69 AC 37 ms 4708 KB
7 AC 37 ms 4336 KB
70 AC 43 ms 5200 KB
71 AC 40 ms 4340 KB
72 AC 36 ms 4472 KB
73 AC 36 ms 4472 KB
74 AC 41 ms 4984 KB
75 AC 45 ms 5500 KB
76 AC 50 ms 6384 KB
77 AC 42 ms 5372 KB
78 AC 47 ms 6132 KB
79 AC 38 ms 4980 KB
8 AC 37 ms 4300 KB
80 AC 38 ms 4716 KB
81 AC 45 ms 5880 KB
82 AC 43 ms 5616 KB
83 AC 42 ms 5368 KB
84 AC 49 ms 6892 KB
85 AC 47 ms 6648 KB
86 AC 42 ms 5368 KB
87 AC 44 ms 5752 KB
88 AC 48 ms 5720 KB
89 AC 56 ms 6888 KB
9 AC 37 ms 4336 KB