Submission #101836
Source Code Expand
#include <cstdio> #include <vector> #include <map> #include <set> #include <algorithm> #define rep(i, n) for(int i = 0; i < (n); ++i) #define mp make_pair #define all(v) (v).begin(), (v).end() using namespace std; typedef pair<int, int> pii; int main(){ int N, M; scanf("%d %d\n", &N, &M); vector<int> s(N * 2), t(N * 2); for (int i = 0; i < N; ++i) { scanf("%d %d\n", &s[i], &t[i]); } 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; } vector<pair<int, int> > ps(N * 4); 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.begin(), ps.end()); int last = -1; vector<vector<int> > next(25, vector<int>(N * 2)); for (int i = N * 4 - 1; 0 <= i; --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 < next.size(); ++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]]; } } int res = 0; for (int i = 0; i < N; ++i) { int tmp = 0, j = i; for (int k = next.size() - 1; 0 <= k; --k) { int j2 = next[k][j]; if (j2 >= 0 && t[j2] <= s[i] + M) { j = j2; tmp |= 1 << k; } } res = max(res, tmp + 1); } printf("%d\n", res); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Anime Master |
User | nikyaudo |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 1502 Byte |
Status | AC |
Exec Time | 234 ms |
Memory | 25828 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:15:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] ./Main.cpp:18:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-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 | 22 ms | 796 KB |
10 | AC | 20 ms | 676 KB |
11 | AC | 20 ms | 804 KB |
12 | AC | 20 ms | 928 KB |
13 | AC | 21 ms | 796 KB |
14 | AC | 21 ms | 680 KB |
15 | AC | 21 ms | 800 KB |
16 | AC | 19 ms | 800 KB |
17 | AC | 21 ms | 768 KB |
18 | AC | 21 ms | 928 KB |
19 | AC | 21 ms | 680 KB |
2 | AC | 21 ms | 804 KB |
20 | AC | 22 ms | 780 KB |
21 | AC | 22 ms | 784 KB |
22 | AC | 21 ms | 680 KB |
23 | AC | 20 ms | 792 KB |
24 | AC | 21 ms | 932 KB |
25 | AC | 19 ms | 800 KB |
26 | AC | 22 ms | 936 KB |
27 | AC | 20 ms | 804 KB |
28 | AC | 21 ms | 932 KB |
29 | AC | 20 ms | 800 KB |
3 | AC | 21 ms | 804 KB |
30 | AC | 21 ms | 924 KB |
31 | AC | 21 ms | 920 KB |
32 | AC | 20 ms | 680 KB |
33 | AC | 21 ms | 740 KB |
34 | AC | 21 ms | 796 KB |
35 | AC | 21 ms | 928 KB |
36 | AC | 22 ms | 928 KB |
37 | AC | 21 ms | 800 KB |
38 | AC | 20 ms | 928 KB |
39 | AC | 21 ms | 804 KB |
4 | AC | 22 ms | 680 KB |
40 | AC | 22 ms | 812 KB |
41 | AC | 21 ms | 804 KB |
42 | AC | 21 ms | 680 KB |
43 | AC | 21 ms | 804 KB |
44 | AC | 21 ms | 680 KB |
45 | AC | 23 ms | 744 KB |
46 | AC | 21 ms | 928 KB |
47 | AC | 22 ms | 804 KB |
48 | AC | 21 ms | 808 KB |
49 | AC | 21 ms | 928 KB |
5 | AC | 22 ms | 740 KB |
50 | AC | 20 ms | 800 KB |
51 | AC | 21 ms | 928 KB |
52 | AC | 21 ms | 924 KB |
53 | AC | 20 ms | 800 KB |
54 | AC | 21 ms | 800 KB |
55 | AC | 22 ms | 796 KB |
56 | AC | 22 ms | 924 KB |
57 | AC | 22 ms | 812 KB |
58 | AC | 189 ms | 25764 KB |
59 | AC | 188 ms | 25828 KB |
6 | AC | 21 ms | 920 KB |
60 | AC | 173 ms | 25768 KB |
61 | AC | 183 ms | 25824 KB |
62 | AC | 191 ms | 25768 KB |
63 | AC | 190 ms | 25772 KB |
64 | AC | 234 ms | 25760 KB |
65 | AC | 68 ms | 7716 KB |
66 | AC | 114 ms | 13856 KB |
67 | AC | 74 ms | 8096 KB |
68 | AC | 29 ms | 1960 KB |
69 | AC | 23 ms | 996 KB |
7 | AC | 21 ms | 788 KB |
70 | AC | 25 ms | 1696 KB |
71 | AC | 21 ms | 740 KB |
72 | AC | 21 ms | 928 KB |
73 | AC | 21 ms | 1052 KB |
74 | AC | 24 ms | 1316 KB |
75 | AC | 28 ms | 1948 KB |
76 | AC | 32 ms | 2716 KB |
77 | AC | 27 ms | 1828 KB |
78 | AC | 30 ms | 2472 KB |
79 | AC | 24 ms | 1272 KB |
8 | AC | 22 ms | 680 KB |
80 | AC | 23 ms | 1060 KB |
81 | AC | 31 ms | 2276 KB |
82 | AC | 28 ms | 2040 KB |
83 | AC | 26 ms | 1704 KB |
84 | AC | 35 ms | 3240 KB |
85 | AC | 34 ms | 3104 KB |
86 | AC | 26 ms | 1828 KB |
87 | AC | 28 ms | 2072 KB |
88 | AC | 29 ms | 2036 KB |
89 | AC | 35 ms | 3236 KB |
9 | AC | 22 ms | 800 KB |