# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
46516 | 2018-04-21T09:25:14 Z | Bruteforceman | Nice sequence (IZhO18_sequence) | C++11 | 314 ms | 31948 KB |
#include "bits/stdc++.h" using namespace std; int N, M; vector <int> g[400010]; int solution[400010], pref[400010]; int deg[400010]; int v[400010]; bool good(int size) { for(int i = 0; i <= size; i++) { g[i].clear(); deg[i] = 0; } for(int i = N; i <= size; i++) { g[i].push_back(i - N); ++deg[i - N]; } for(int i = 0; i <= size - M; i++) { g[i].push_back(i + M); ++deg[i + M]; } queue <int> Q; for(int i = 0; i <= size; i++) { if(deg[i] == 0) { Q.push(i); } } int cnt = 0; while(!Q.empty()) { int x = Q.front(); Q.pop(); cnt++; for(auto i : g[x]) { --deg[i]; if(deg[i] == 0) { Q.push(i); } } } if(cnt == size + 1) { return true; } return false; } void solve(int size) { for(int i = 0; i <= size; i++) { g[i].clear(); deg[i] = 0; } for(int i = N; i <= size; i++) { g[i].push_back(i - N); ++deg[i - N]; } for(int i = 0; i <= size - M; i++) { g[i].push_back(i + M); ++deg[i + M]; } queue <int> Q; for(int i = 0; i <= size; i++) { if(deg[i] == 0) { Q.push(i); } } int cnt = 0; while(!Q.empty()) { int x = Q.front(); Q.pop(); v[cnt++] = x; for(auto i : g[x]) { --deg[i]; if(deg[i] == 0) { Q.push(i); } } } if(cnt == size + 1) { for(int i = 0; i < cnt; i++) { if(v[i] == 0) { int cur = 0; for(int j = i-1; j >= 0; j--) { pref[v[j]] = --cur; } cur = 0; for(int j = i+1; j < cnt; j++) { pref[v[j]] = ++cur; } break; } } for(int i = 1; i <= size; i++) { solution[i] = pref[i] - pref[i - 1]; } } } int search(int b, int e) { if(b == e) { return b; } int m = (b + e + 1) >> 1; if(good(m)) return search(m, e); else return search(b, m - 1); } int main(int argc, char const *argv[]) { int test; scanf("%d", &test); for(int cs = 1; cs <= test; cs++) { scanf("%d %d", &N, &M); int ans = 0; if(N == M) { ans = N-1; } else if (N > M) { int diff = N % M; for(int i = 0; i < M; i++) { ans = max(ans, (i * diff) % M); } ans += N - 1; } else { int diff = M % N; for(int i = 0; i < N; i++) { ans = max(ans, (i * diff) % N); } ans += M - 1; } solve(ans); printf("%d\n", ans); for(int i = 1; i <= ans; i++) { printf("%d ", solution[i]); } printf("\n"); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 9720 KB | Ok |
2 | Correct | 11 ms | 9868 KB | Ok |
3 | Correct | 12 ms | 9868 KB | Ok |
4 | Correct | 10 ms | 9868 KB | Ok |
5 | Correct | 12 ms | 9868 KB | Ok |
6 | Correct | 10 ms | 9984 KB | Ok |
7 | Correct | 11 ms | 9984 KB | Ok |
8 | Correct | 9 ms | 9984 KB | Ok |
9 | Correct | 9 ms | 10060 KB | Ok |
10 | Correct | 9 ms | 10060 KB | Ok |
11 | Correct | 9 ms | 10060 KB | Ok |
12 | Correct | 11 ms | 10060 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 10060 KB | Ok |
2 | Correct | 10 ms | 10092 KB | Ok |
3 | Correct | 10 ms | 10092 KB | Ok |
4 | Correct | 12 ms | 10092 KB | Ok |
5 | Correct | 9 ms | 10092 KB | Ok |
6 | Correct | 11 ms | 10108 KB | Ok |
7 | Correct | 21 ms | 10748 KB | Ok |
8 | Correct | 14 ms | 10748 KB | Ok |
9 | Correct | 22 ms | 10908 KB | Ok |
10 | Correct | 16 ms | 10908 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 12 ms | 10908 KB | Ok |
2 | Correct | 9 ms | 10908 KB | Ok |
3 | Correct | 9 ms | 10908 KB | Ok |
4 | Correct | 10 ms | 10908 KB | Ok |
5 | Correct | 11 ms | 10908 KB | Ok |
6 | Correct | 9 ms | 10908 KB | Ok |
7 | Correct | 9 ms | 10908 KB | Ok |
8 | Correct | 11 ms | 10908 KB | Ok |
9 | Correct | 9 ms | 10908 KB | Ok |
10 | Correct | 9 ms | 10908 KB | Ok |
11 | Correct | 11 ms | 10908 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 10908 KB | Ok |
2 | Correct | 9 ms | 10908 KB | Ok |
3 | Correct | 9 ms | 10908 KB | Ok |
4 | Correct | 9 ms | 10908 KB | Ok |
5 | Correct | 12 ms | 10908 KB | Ok |
6 | Correct | 140 ms | 20508 KB | Ok |
7 | Correct | 109 ms | 21292 KB | Ok |
8 | Correct | 174 ms | 23212 KB | Ok |
9 | Correct | 148 ms | 23212 KB | Ok |
10 | Correct | 103 ms | 23212 KB | Ok |
11 | Correct | 131 ms | 23212 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 9720 KB | Ok |
2 | Correct | 11 ms | 9868 KB | Ok |
3 | Correct | 12 ms | 9868 KB | Ok |
4 | Correct | 10 ms | 9868 KB | Ok |
5 | Correct | 12 ms | 9868 KB | Ok |
6 | Correct | 10 ms | 9984 KB | Ok |
7 | Correct | 11 ms | 9984 KB | Ok |
8 | Correct | 9 ms | 9984 KB | Ok |
9 | Correct | 9 ms | 10060 KB | Ok |
10 | Correct | 9 ms | 10060 KB | Ok |
11 | Correct | 9 ms | 10060 KB | Ok |
12 | Correct | 11 ms | 10060 KB | Ok |
13 | Correct | 12 ms | 10908 KB | Ok |
14 | Correct | 9 ms | 10908 KB | Ok |
15 | Correct | 9 ms | 10908 KB | Ok |
16 | Correct | 10 ms | 10908 KB | Ok |
17 | Correct | 11 ms | 10908 KB | Ok |
18 | Correct | 9 ms | 10908 KB | Ok |
19 | Correct | 9 ms | 10908 KB | Ok |
20 | Correct | 11 ms | 10908 KB | Ok |
21 | Correct | 9 ms | 10908 KB | Ok |
22 | Correct | 9 ms | 10908 KB | Ok |
23 | Correct | 11 ms | 10908 KB | Ok |
24 | Correct | 12 ms | 23212 KB | Ok |
25 | Correct | 13 ms | 23212 KB | Ok |
26 | Correct | 11 ms | 23212 KB | Ok |
27 | Correct | 11 ms | 23212 KB | Ok |
28 | Correct | 11 ms | 23212 KB | Ok |
29 | Correct | 12 ms | 23212 KB | Ok |
30 | Correct | 14 ms | 23212 KB | Ok |
31 | Correct | 12 ms | 23212 KB | Ok |
32 | Correct | 11 ms | 23212 KB | Ok |
33 | Correct | 12 ms | 23212 KB | Ok |
34 | Correct | 14 ms | 23212 KB | Ok |
35 | Correct | 14 ms | 23212 KB | Ok |
36 | Correct | 14 ms | 23212 KB | Ok |
37 | Correct | 15 ms | 23212 KB | Ok |
38 | Correct | 14 ms | 23212 KB | Ok |
39 | Correct | 17 ms | 23212 KB | Ok |
40 | Correct | 15 ms | 23212 KB | Ok |
41 | Correct | 17 ms | 23212 KB | Ok |
42 | Correct | 14 ms | 23212 KB | Ok |
43 | Correct | 16 ms | 23212 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 9720 KB | Ok |
2 | Correct | 11 ms | 9868 KB | Ok |
3 | Correct | 12 ms | 9868 KB | Ok |
4 | Correct | 10 ms | 9868 KB | Ok |
5 | Correct | 12 ms | 9868 KB | Ok |
6 | Correct | 10 ms | 9984 KB | Ok |
7 | Correct | 11 ms | 9984 KB | Ok |
8 | Correct | 9 ms | 9984 KB | Ok |
9 | Correct | 9 ms | 10060 KB | Ok |
10 | Correct | 9 ms | 10060 KB | Ok |
11 | Correct | 9 ms | 10060 KB | Ok |
12 | Correct | 11 ms | 10060 KB | Ok |
13 | Correct | 9 ms | 10060 KB | Ok |
14 | Correct | 10 ms | 10092 KB | Ok |
15 | Correct | 10 ms | 10092 KB | Ok |
16 | Correct | 12 ms | 10092 KB | Ok |
17 | Correct | 9 ms | 10092 KB | Ok |
18 | Correct | 11 ms | 10108 KB | Ok |
19 | Correct | 21 ms | 10748 KB | Ok |
20 | Correct | 14 ms | 10748 KB | Ok |
21 | Correct | 22 ms | 10908 KB | Ok |
22 | Correct | 16 ms | 10908 KB | Ok |
23 | Correct | 12 ms | 10908 KB | Ok |
24 | Correct | 9 ms | 10908 KB | Ok |
25 | Correct | 9 ms | 10908 KB | Ok |
26 | Correct | 10 ms | 10908 KB | Ok |
27 | Correct | 11 ms | 10908 KB | Ok |
28 | Correct | 9 ms | 10908 KB | Ok |
29 | Correct | 9 ms | 10908 KB | Ok |
30 | Correct | 11 ms | 10908 KB | Ok |
31 | Correct | 9 ms | 10908 KB | Ok |
32 | Correct | 9 ms | 10908 KB | Ok |
33 | Correct | 11 ms | 10908 KB | Ok |
34 | Correct | 12 ms | 23212 KB | Ok |
35 | Correct | 13 ms | 23212 KB | Ok |
36 | Correct | 11 ms | 23212 KB | Ok |
37 | Correct | 11 ms | 23212 KB | Ok |
38 | Correct | 11 ms | 23212 KB | Ok |
39 | Correct | 12 ms | 23212 KB | Ok |
40 | Correct | 14 ms | 23212 KB | Ok |
41 | Correct | 12 ms | 23212 KB | Ok |
42 | Correct | 11 ms | 23212 KB | Ok |
43 | Correct | 12 ms | 23212 KB | Ok |
44 | Correct | 14 ms | 23212 KB | Ok |
45 | Correct | 14 ms | 23212 KB | Ok |
46 | Correct | 14 ms | 23212 KB | Ok |
47 | Correct | 15 ms | 23212 KB | Ok |
48 | Correct | 14 ms | 23212 KB | Ok |
49 | Correct | 17 ms | 23212 KB | Ok |
50 | Correct | 15 ms | 23212 KB | Ok |
51 | Correct | 17 ms | 23212 KB | Ok |
52 | Correct | 14 ms | 23212 KB | Ok |
53 | Correct | 16 ms | 23212 KB | Ok |
54 | Correct | 83 ms | 23212 KB | Ok |
55 | Correct | 96 ms | 23212 KB | Ok |
56 | Correct | 100 ms | 23212 KB | Ok |
57 | Correct | 73 ms | 23212 KB | Ok |
58 | Correct | 87 ms | 23212 KB | Ok |
59 | Correct | 89 ms | 23212 KB | Ok |
60 | Correct | 82 ms | 23212 KB | Ok |
61 | Correct | 91 ms | 23212 KB | Ok |
62 | Correct | 96 ms | 23212 KB | Ok |
63 | Correct | 78 ms | 23212 KB | Ok |
64 | Correct | 91 ms | 23212 KB | Ok |
65 | Correct | 88 ms | 23212 KB | Ok |
66 | Correct | 81 ms | 23212 KB | Ok |
67 | Correct | 84 ms | 23212 KB | Ok |
68 | Correct | 83 ms | 23212 KB | Ok |
69 | Correct | 196 ms | 23212 KB | Ok |
70 | Correct | 219 ms | 23212 KB | Ok |
71 | Correct | 167 ms | 23212 KB | Ok |
72 | Correct | 192 ms | 23212 KB | Ok |
73 | Correct | 212 ms | 23212 KB | Ok |
74 | Correct | 153 ms | 23212 KB | Ok |
75 | Correct | 193 ms | 23212 KB | Ok |
76 | Correct | 234 ms | 23212 KB | Ok |
77 | Correct | 152 ms | 23212 KB | Ok |
78 | Correct | 314 ms | 23212 KB | Ok |
79 | Correct | 200 ms | 23212 KB | Ok |
80 | Correct | 223 ms | 23212 KB | Ok |
81 | Correct | 194 ms | 23212 KB | Ok |
82 | Correct | 197 ms | 23212 KB | Ok |
83 | Correct | 162 ms | 23212 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 9720 KB | Ok |
2 | Correct | 11 ms | 9868 KB | Ok |
3 | Correct | 12 ms | 9868 KB | Ok |
4 | Correct | 10 ms | 9868 KB | Ok |
5 | Correct | 12 ms | 9868 KB | Ok |
6 | Correct | 10 ms | 9984 KB | Ok |
7 | Correct | 11 ms | 9984 KB | Ok |
8 | Correct | 9 ms | 9984 KB | Ok |
9 | Correct | 9 ms | 10060 KB | Ok |
10 | Correct | 9 ms | 10060 KB | Ok |
11 | Correct | 9 ms | 10060 KB | Ok |
12 | Correct | 11 ms | 10060 KB | Ok |
13 | Correct | 9 ms | 10060 KB | Ok |
14 | Correct | 10 ms | 10092 KB | Ok |
15 | Correct | 10 ms | 10092 KB | Ok |
16 | Correct | 12 ms | 10092 KB | Ok |
17 | Correct | 9 ms | 10092 KB | Ok |
18 | Correct | 11 ms | 10108 KB | Ok |
19 | Correct | 21 ms | 10748 KB | Ok |
20 | Correct | 14 ms | 10748 KB | Ok |
21 | Correct | 22 ms | 10908 KB | Ok |
22 | Correct | 16 ms | 10908 KB | Ok |
23 | Correct | 12 ms | 10908 KB | Ok |
24 | Correct | 9 ms | 10908 KB | Ok |
25 | Correct | 9 ms | 10908 KB | Ok |
26 | Correct | 10 ms | 10908 KB | Ok |
27 | Correct | 11 ms | 10908 KB | Ok |
28 | Correct | 9 ms | 10908 KB | Ok |
29 | Correct | 9 ms | 10908 KB | Ok |
30 | Correct | 11 ms | 10908 KB | Ok |
31 | Correct | 9 ms | 10908 KB | Ok |
32 | Correct | 9 ms | 10908 KB | Ok |
33 | Correct | 11 ms | 10908 KB | Ok |
34 | Correct | 9 ms | 10908 KB | Ok |
35 | Correct | 9 ms | 10908 KB | Ok |
36 | Correct | 9 ms | 10908 KB | Ok |
37 | Correct | 9 ms | 10908 KB | Ok |
38 | Correct | 12 ms | 10908 KB | Ok |
39 | Correct | 140 ms | 20508 KB | Ok |
40 | Correct | 109 ms | 21292 KB | Ok |
41 | Correct | 174 ms | 23212 KB | Ok |
42 | Correct | 148 ms | 23212 KB | Ok |
43 | Correct | 103 ms | 23212 KB | Ok |
44 | Correct | 131 ms | 23212 KB | Ok |
45 | Correct | 12 ms | 23212 KB | Ok |
46 | Correct | 13 ms | 23212 KB | Ok |
47 | Correct | 11 ms | 23212 KB | Ok |
48 | Correct | 11 ms | 23212 KB | Ok |
49 | Correct | 11 ms | 23212 KB | Ok |
50 | Correct | 12 ms | 23212 KB | Ok |
51 | Correct | 14 ms | 23212 KB | Ok |
52 | Correct | 12 ms | 23212 KB | Ok |
53 | Correct | 11 ms | 23212 KB | Ok |
54 | Correct | 12 ms | 23212 KB | Ok |
55 | Correct | 14 ms | 23212 KB | Ok |
56 | Correct | 14 ms | 23212 KB | Ok |
57 | Correct | 14 ms | 23212 KB | Ok |
58 | Correct | 15 ms | 23212 KB | Ok |
59 | Correct | 14 ms | 23212 KB | Ok |
60 | Correct | 17 ms | 23212 KB | Ok |
61 | Correct | 15 ms | 23212 KB | Ok |
62 | Correct | 17 ms | 23212 KB | Ok |
63 | Correct | 14 ms | 23212 KB | Ok |
64 | Correct | 16 ms | 23212 KB | Ok |
65 | Correct | 83 ms | 23212 KB | Ok |
66 | Correct | 96 ms | 23212 KB | Ok |
67 | Correct | 100 ms | 23212 KB | Ok |
68 | Correct | 73 ms | 23212 KB | Ok |
69 | Correct | 87 ms | 23212 KB | Ok |
70 | Correct | 89 ms | 23212 KB | Ok |
71 | Correct | 82 ms | 23212 KB | Ok |
72 | Correct | 91 ms | 23212 KB | Ok |
73 | Correct | 96 ms | 23212 KB | Ok |
74 | Correct | 78 ms | 23212 KB | Ok |
75 | Correct | 91 ms | 23212 KB | Ok |
76 | Correct | 88 ms | 23212 KB | Ok |
77 | Correct | 81 ms | 23212 KB | Ok |
78 | Correct | 84 ms | 23212 KB | Ok |
79 | Correct | 83 ms | 23212 KB | Ok |
80 | Correct | 196 ms | 23212 KB | Ok |
81 | Correct | 219 ms | 23212 KB | Ok |
82 | Correct | 167 ms | 23212 KB | Ok |
83 | Correct | 192 ms | 23212 KB | Ok |
84 | Correct | 212 ms | 23212 KB | Ok |
85 | Correct | 153 ms | 23212 KB | Ok |
86 | Correct | 193 ms | 23212 KB | Ok |
87 | Correct | 234 ms | 23212 KB | Ok |
88 | Correct | 152 ms | 23212 KB | Ok |
89 | Correct | 314 ms | 23212 KB | Ok |
90 | Correct | 200 ms | 23212 KB | Ok |
91 | Correct | 223 ms | 23212 KB | Ok |
92 | Correct | 194 ms | 23212 KB | Ok |
93 | Correct | 197 ms | 23212 KB | Ok |
94 | Correct | 162 ms | 23212 KB | Ok |
95 | Correct | 198 ms | 24760 KB | Ok |
96 | Incorrect | 304 ms | 31948 KB | All the numbers must be nonzero |
97 | Halted | 0 ms | 0 KB | - |