Submission #101833
Source Code Expand
#include <cstdio> #include <cstdlib> int next[100002]; int s1[100002]; int s2[100002]; int minv[400002][18]; int INF=1000000007; int N,M,eall; int exs[400002]; int cmp(const void *ka,const void *kb) { int a=*(int *)ka; int b=*(int *)kb; return a-b; } int findpl(int x) { int mnv=0; int mxv=eall-1; while(mnv<mxv) { int hf=(mnv+mxv)/2; if(exs[hf]<x) { mnv=hf+1; } else { mxv=hf; } } return mnv; } int main() { scanf("%d%d",&N,&M); for(int i=0;i<N*4;i++) minv[i][0]=INF; for(int i=0;i<N;i++) { scanf("%d%d",&s1[i],&s2[i]); exs[i*4]=s1[i]; exs[i*4+1]=s2[i]; exs[i*4+2]=s1[i]+M; exs[i*4+3]=s2[i]+M; } qsort(exs,N*4,sizeof(int),cmp); for(int i=1;i<N*4;i++) { if(exs[i]!=exs[eall]) { eall++; exs[eall]=exs[i]; } } eall++; for(int i=0;i<N;i++) { int s,t; if(s1[i]>s2[i]) { s=findpl(s1[i]); t=findpl(s2[i]+M); if(minv[s][0]>t) minv[s][0]=t; } else { s=findpl(s1[i]); t=findpl(s2[i]); if(minv[s][0]>t) minv[s][0]=t; s=findpl(s1[i]+M); t=findpl(s2[i]+M); if(minv[s][0]>t) minv[s][0]=t; } } for(int i=eall-1;i>0;i--) { if(minv[i-1][0]>minv[i][0]) minv[i-1][0]=minv[i][0]; } for(int j=0;j<17;j++) { for(int i=0;i<eall;i++) { if(minv[i][j]<INF) { minv[i][j+1]=minv[minv[i][j]][j]; } else { minv[i][j+1]=INF; } } } int sol=0; for(int i=0;i<eall;i++) { if(exs[i]<M) { int nw=i; int endv=findpl(exs[i]+M); int ksol=0; for(int j=17;j>=0;j--) { if(minv[nw][j]<=endv) { nw=minv[nw][j]; ksol+=(1<<j); } } if(sol<ksol) sol=ksol; } } printf("%d\n",sol); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Anime Master |
User | phidnight |
Language | C++ (GCC 4.4.7) |
Score | 100 |
Code Size | 1681 Byte |
Status | AC |
Exec Time | 439 ms |
Memory | 32800 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result ./Main.cpp:32: 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 |
|
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 | 21 ms | 796 KB |
10 | AC | 20 ms | 928 KB |
11 | AC | 20 ms | 804 KB |
12 | AC | 19 ms | 804 KB |
13 | AC | 21 ms | 800 KB |
14 | AC | 22 ms | 804 KB |
15 | AC | 21 ms | 928 KB |
16 | AC | 20 ms | 932 KB |
17 | AC | 21 ms | 768 KB |
18 | AC | 23 ms | 808 KB |
19 | AC | 21 ms | 812 KB |
2 | AC | 20 ms | 796 KB |
20 | AC | 20 ms | 808 KB |
21 | AC | 20 ms | 804 KB |
22 | AC | 19 ms | 800 KB |
23 | AC | 20 ms | 928 KB |
24 | AC | 21 ms | 804 KB |
25 | AC | 20 ms | 816 KB |
26 | AC | 20 ms | 740 KB |
27 | AC | 20 ms | 928 KB |
28 | AC | 20 ms | 932 KB |
29 | AC | 21 ms | 932 KB |
3 | AC | 19 ms | 796 KB |
30 | AC | 21 ms | 932 KB |
31 | AC | 20 ms | 796 KB |
32 | AC | 21 ms | 808 KB |
33 | AC | 20 ms | 816 KB |
34 | AC | 20 ms | 808 KB |
35 | AC | 20 ms | 808 KB |
36 | AC | 21 ms | 736 KB |
37 | AC | 23 ms | 792 KB |
38 | AC | 21 ms | 804 KB |
39 | AC | 22 ms | 936 KB |
4 | AC | 21 ms | 800 KB |
40 | AC | 21 ms | 804 KB |
41 | AC | 22 ms | 804 KB |
42 | AC | 21 ms | 800 KB |
43 | AC | 23 ms | 920 KB |
44 | AC | 21 ms | 796 KB |
45 | AC | 21 ms | 800 KB |
46 | AC | 21 ms | 932 KB |
47 | AC | 22 ms | 808 KB |
48 | AC | 21 ms | 800 KB |
49 | AC | 21 ms | 740 KB |
5 | AC | 20 ms | 804 KB |
50 | AC | 20 ms | 804 KB |
51 | AC | 19 ms | 932 KB |
52 | AC | 23 ms | 772 KB |
53 | AC | 20 ms | 800 KB |
54 | AC | 21 ms | 808 KB |
55 | AC | 21 ms | 932 KB |
56 | AC | 22 ms | 804 KB |
57 | AC | 23 ms | 808 KB |
58 | AC | 312 ms | 32416 KB |
59 | AC | 263 ms | 32532 KB |
6 | AC | 20 ms | 800 KB |
60 | AC | 241 ms | 32424 KB |
61 | AC | 425 ms | 32796 KB |
62 | AC | 433 ms | 32800 KB |
63 | AC | 439 ms | 32800 KB |
64 | AC | 436 ms | 32800 KB |
65 | AC | 117 ms | 9752 KB |
66 | AC | 220 ms | 17568 KB |
67 | AC | 138 ms | 10272 KB |
68 | AC | 31 ms | 2336 KB |
69 | AC | 24 ms | 1188 KB |
7 | AC | 20 ms | 796 KB |
70 | AC | 29 ms | 1764 KB |
71 | AC | 21 ms | 792 KB |
72 | AC | 21 ms | 932 KB |
73 | AC | 22 ms | 1060 KB |
74 | AC | 26 ms | 1560 KB |
75 | AC | 31 ms | 2212 KB |
76 | AC | 39 ms | 3188 KB |
77 | AC | 30 ms | 2088 KB |
78 | AC | 36 ms | 3100 KB |
79 | AC | 26 ms | 1448 KB |
8 | AC | 19 ms | 804 KB |
80 | AC | 24 ms | 1320 KB |
81 | AC | 32 ms | 2720 KB |
82 | AC | 33 ms | 2392 KB |
83 | AC | 32 ms | 2080 KB |
84 | AC | 45 ms | 3868 KB |
85 | AC | 42 ms | 3736 KB |
86 | AC | 29 ms | 2080 KB |
87 | AC | 33 ms | 2468 KB |
88 | AC | 30 ms | 2460 KB |
89 | AC | 43 ms | 4000 KB |
9 | AC | 20 ms | 808 KB |