# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
173806 | 2020-01-05T12:57:57 Z | davitmarg | Nice sequence (IZhO18_sequence) | C++17 | 2000 ms | 52068 KB |
/*DavitMarg*/ #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <set> #include <queue> #include <iomanip> #include <bitset> #include <stack> #include <cassert> #include <iterator> #include <fstream> #define mod 1000000007ll #define LL long long #define LD long double #define MP make_pair #define PB push_back #define all(v) v.begin(), v.end() using namespace std; const int N = 200005; int gcd(int a, int b) { if (!a || !b) return a + b; return gcd(b, a % b); } LL lca(LL a, LL b) { return a * b / gcd(a, b); } int q, n, m, k; vector<int> t, a, used, tin; vector<vector<int>> g; inline void dfs(int v) { used[v] = 1; for (int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if (used[to]) continue; dfs(to); } //tin[v] = -t.size(); t.PB(v); } bool check(int x) { t.clear(); a.resize(x + 2); used.resize(x + 2); //tin.resize(x + 2); g.resize(x + 2); for (int i = 0; i <= x; i++) { g[i].clear(); used[i] = 0; a[i] = i; } for (int i = 0; i <= x; i++) { if (i - m >= 0) g[i - m].PB(i); if (i + n <= x) g[i + n].PB(i); } for (int i = 0; i <= x; i++) if (!used[i]) dfs(i); reverse(all(t)); //cout << "!!!!!" << x << endl; for (int i = 0; i < t.size(); i++) { int v = t[i]; for (int j = 0; j < g[v].size(); j++) { int to = g[v][j]; // if (tin[to] <= tin[v]) // return 0; //cout << v << " : " << to << endl; a[to] = max(a[to], a[v] + 1); } } return 1; } char uu[12]; void tp(int x) { if (x == 0) { putchar('0'); return; } if (x < 0) { putchar('-'); x *= (-1); } int i = 0; while (x) { uu[i++] = (x % 10) + '0'; x /= 10; } for (i = i - 1; i >= 0; --i) putchar(uu[i]); } int main() { cin >> q; while (q--) { k = 0; cin >> n >> m; LL l, r, mid; l = 0; r = min(lca(n, m) - 1ll, 400000ll); // while (l <= r) // { // mid = (l + r) / 2; // if (check(mid)) // { // k = mid; // l = mid + 1; // } // else // r = mid - 1; // } k = n + m - gcd(n, m) - 1; check(k); cout << k << endl; for (int i = 1; i <= k; i++) { //printf("%d ", a[i] - a[i - 1]); tp(a[i] - a[i - 1]); putchar(' '); } cout << endl; } return 0; } /* 4 3 1 2 3 1 1 2 2 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Ok |
2 | Correct | 3 ms | 376 KB | Ok |
3 | Correct | 2 ms | 380 KB | Ok |
4 | Correct | 2 ms | 376 KB | Ok |
5 | Correct | 2 ms | 376 KB | Ok |
6 | Correct | 2 ms | 256 KB | Ok |
7 | Correct | 2 ms | 376 KB | Ok |
8 | Correct | 2 ms | 376 KB | Ok |
9 | Correct | 2 ms | 424 KB | Ok |
10 | Correct | 2 ms | 276 KB | Ok |
11 | Correct | 2 ms | 404 KB | Ok |
12 | Correct | 2 ms | 256 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Ok |
2 | Correct | 2 ms | 376 KB | Ok |
3 | Correct | 2 ms | 252 KB | Ok |
4 | Correct | 3 ms | 256 KB | Ok |
5 | Correct | 2 ms | 256 KB | Ok |
6 | Correct | 4 ms | 504 KB | Ok |
7 | Correct | 13 ms | 1456 KB | Ok |
8 | Correct | 7 ms | 888 KB | Ok |
9 | Correct | 16 ms | 1676 KB | Ok |
10 | Correct | 13 ms | 1136 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Ok |
2 | Correct | 2 ms | 256 KB | Ok |
3 | Correct | 2 ms | 376 KB | Ok |
4 | Correct | 2 ms | 256 KB | Ok |
5 | Correct | 2 ms | 376 KB | Ok |
6 | Correct | 2 ms | 256 KB | Ok |
7 | Correct | 2 ms | 376 KB | Ok |
8 | Correct | 2 ms | 376 KB | Ok |
9 | Correct | 2 ms | 256 KB | Ok |
10 | Correct | 2 ms | 376 KB | Ok |
11 | Correct | 2 ms | 256 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Ok |
2 | Correct | 2 ms | 256 KB | Ok |
3 | Correct | 4 ms | 376 KB | Ok |
4 | Correct | 0 ms | 256 KB | Ok |
5 | Correct | 2 ms | 256 KB | Ok |
6 | Correct | 114 ms | 17108 KB | Ok |
7 | Correct | 97 ms | 18816 KB | Ok |
8 | Correct | 165 ms | 20600 KB | Ok |
9 | Correct | 170 ms | 17896 KB | Ok |
10 | Correct | 80 ms | 12244 KB | Ok |
11 | Correct | 147 ms | 20728 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Ok |
2 | Correct | 3 ms | 376 KB | Ok |
3 | Correct | 2 ms | 380 KB | Ok |
4 | Correct | 2 ms | 376 KB | Ok |
5 | Correct | 2 ms | 376 KB | Ok |
6 | Correct | 2 ms | 256 KB | Ok |
7 | Correct | 2 ms | 376 KB | Ok |
8 | Correct | 2 ms | 376 KB | Ok |
9 | Correct | 2 ms | 424 KB | Ok |
10 | Correct | 2 ms | 276 KB | Ok |
11 | Correct | 2 ms | 404 KB | Ok |
12 | Correct | 2 ms | 256 KB | Ok |
13 | Correct | 2 ms | 376 KB | Ok |
14 | Correct | 2 ms | 256 KB | Ok |
15 | Correct | 2 ms | 376 KB | Ok |
16 | Correct | 2 ms | 256 KB | Ok |
17 | Correct | 2 ms | 376 KB | Ok |
18 | Correct | 2 ms | 256 KB | Ok |
19 | Correct | 2 ms | 376 KB | Ok |
20 | Correct | 2 ms | 376 KB | Ok |
21 | Correct | 2 ms | 256 KB | Ok |
22 | Correct | 2 ms | 376 KB | Ok |
23 | Correct | 2 ms | 256 KB | Ok |
24 | Correct | 4 ms | 504 KB | Ok |
25 | Correct | 4 ms | 632 KB | Ok |
26 | Correct | 4 ms | 632 KB | Ok |
27 | Correct | 3 ms | 632 KB | Ok |
28 | Correct | 3 ms | 504 KB | Ok |
29 | Correct | 3 ms | 632 KB | Ok |
30 | Correct | 3 ms | 504 KB | Ok |
31 | Correct | 4 ms | 504 KB | Ok |
32 | Correct | 4 ms | 632 KB | Ok |
33 | Correct | 4 ms | 632 KB | Ok |
34 | Correct | 7 ms | 760 KB | Ok |
35 | Correct | 7 ms | 888 KB | Ok |
36 | Correct | 7 ms | 888 KB | Ok |
37 | Correct | 8 ms | 892 KB | Ok |
38 | Correct | 7 ms | 888 KB | Ok |
39 | Correct | 6 ms | 760 KB | Ok |
40 | Correct | 7 ms | 888 KB | Ok |
41 | Correct | 7 ms | 760 KB | Ok |
42 | Correct | 6 ms | 760 KB | Ok |
43 | Correct | 7 ms | 888 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Ok |
2 | Correct | 3 ms | 376 KB | Ok |
3 | Correct | 2 ms | 380 KB | Ok |
4 | Correct | 2 ms | 376 KB | Ok |
5 | Correct | 2 ms | 376 KB | Ok |
6 | Correct | 2 ms | 256 KB | Ok |
7 | Correct | 2 ms | 376 KB | Ok |
8 | Correct | 2 ms | 376 KB | Ok |
9 | Correct | 2 ms | 424 KB | Ok |
10 | Correct | 2 ms | 276 KB | Ok |
11 | Correct | 2 ms | 404 KB | Ok |
12 | Correct | 2 ms | 256 KB | Ok |
13 | Correct | 2 ms | 376 KB | Ok |
14 | Correct | 2 ms | 376 KB | Ok |
15 | Correct | 2 ms | 252 KB | Ok |
16 | Correct | 3 ms | 256 KB | Ok |
17 | Correct | 2 ms | 256 KB | Ok |
18 | Correct | 4 ms | 504 KB | Ok |
19 | Correct | 13 ms | 1456 KB | Ok |
20 | Correct | 7 ms | 888 KB | Ok |
21 | Correct | 16 ms | 1676 KB | Ok |
22 | Correct | 13 ms | 1136 KB | Ok |
23 | Correct | 2 ms | 376 KB | Ok |
24 | Correct | 2 ms | 256 KB | Ok |
25 | Correct | 2 ms | 376 KB | Ok |
26 | Correct | 2 ms | 256 KB | Ok |
27 | Correct | 2 ms | 376 KB | Ok |
28 | Correct | 2 ms | 256 KB | Ok |
29 | Correct | 2 ms | 376 KB | Ok |
30 | Correct | 2 ms | 376 KB | Ok |
31 | Correct | 2 ms | 256 KB | Ok |
32 | Correct | 2 ms | 376 KB | Ok |
33 | Correct | 2 ms | 256 KB | Ok |
34 | Correct | 4 ms | 504 KB | Ok |
35 | Correct | 4 ms | 632 KB | Ok |
36 | Correct | 4 ms | 632 KB | Ok |
37 | Correct | 3 ms | 632 KB | Ok |
38 | Correct | 3 ms | 504 KB | Ok |
39 | Correct | 3 ms | 632 KB | Ok |
40 | Correct | 3 ms | 504 KB | Ok |
41 | Correct | 4 ms | 504 KB | Ok |
42 | Correct | 4 ms | 632 KB | Ok |
43 | Correct | 4 ms | 632 KB | Ok |
44 | Correct | 7 ms | 760 KB | Ok |
45 | Correct | 7 ms | 888 KB | Ok |
46 | Correct | 7 ms | 888 KB | Ok |
47 | Correct | 8 ms | 892 KB | Ok |
48 | Correct | 7 ms | 888 KB | Ok |
49 | Correct | 6 ms | 760 KB | Ok |
50 | Correct | 7 ms | 888 KB | Ok |
51 | Correct | 7 ms | 760 KB | Ok |
52 | Correct | 6 ms | 760 KB | Ok |
53 | Correct | 7 ms | 888 KB | Ok |
54 | Correct | 69 ms | 8600 KB | Ok |
55 | Correct | 76 ms | 8164 KB | Ok |
56 | Correct | 72 ms | 8172 KB | Ok |
57 | Correct | 56 ms | 7408 KB | Ok |
58 | Correct | 81 ms | 8464 KB | Ok |
59 | Correct | 74 ms | 7540 KB | Ok |
60 | Correct | 63 ms | 7068 KB | Ok |
61 | Correct | 60 ms | 8060 KB | Ok |
62 | Correct | 89 ms | 8016 KB | Ok |
63 | Correct | 69 ms | 7120 KB | Ok |
64 | Correct | 79 ms | 7892 KB | Ok |
65 | Correct | 77 ms | 8184 KB | Ok |
66 | Correct | 62 ms | 7640 KB | Ok |
67 | Correct | 62 ms | 7836 KB | Ok |
68 | Correct | 72 ms | 7820 KB | Ok |
69 | Correct | 333 ms | 14112 KB | Ok |
70 | Correct | 355 ms | 15372 KB | Ok |
71 | Correct | 247 ms | 12600 KB | Ok |
72 | Correct | 258 ms | 14652 KB | Ok |
73 | Correct | 295 ms | 13272 KB | Ok |
74 | Correct | 250 ms | 12476 KB | Ok |
75 | Correct | 260 ms | 12788 KB | Ok |
76 | Correct | 322 ms | 15280 KB | Ok |
77 | Correct | 239 ms | 11976 KB | Ok |
78 | Correct | 325 ms | 14924 KB | Ok |
79 | Correct | 282 ms | 13904 KB | Ok |
80 | Correct | 244 ms | 13240 KB | Ok |
81 | Correct | 276 ms | 14416 KB | Ok |
82 | Correct | 271 ms | 13988 KB | Ok |
83 | Correct | 240 ms | 13112 KB | Ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Ok |
2 | Correct | 3 ms | 376 KB | Ok |
3 | Correct | 2 ms | 380 KB | Ok |
4 | Correct | 2 ms | 376 KB | Ok |
5 | Correct | 2 ms | 376 KB | Ok |
6 | Correct | 2 ms | 256 KB | Ok |
7 | Correct | 2 ms | 376 KB | Ok |
8 | Correct | 2 ms | 376 KB | Ok |
9 | Correct | 2 ms | 424 KB | Ok |
10 | Correct | 2 ms | 276 KB | Ok |
11 | Correct | 2 ms | 404 KB | Ok |
12 | Correct | 2 ms | 256 KB | Ok |
13 | Correct | 2 ms | 376 KB | Ok |
14 | Correct | 2 ms | 376 KB | Ok |
15 | Correct | 2 ms | 252 KB | Ok |
16 | Correct | 3 ms | 256 KB | Ok |
17 | Correct | 2 ms | 256 KB | Ok |
18 | Correct | 4 ms | 504 KB | Ok |
19 | Correct | 13 ms | 1456 KB | Ok |
20 | Correct | 7 ms | 888 KB | Ok |
21 | Correct | 16 ms | 1676 KB | Ok |
22 | Correct | 13 ms | 1136 KB | Ok |
23 | Correct | 2 ms | 376 KB | Ok |
24 | Correct | 2 ms | 256 KB | Ok |
25 | Correct | 2 ms | 376 KB | Ok |
26 | Correct | 2 ms | 256 KB | Ok |
27 | Correct | 2 ms | 376 KB | Ok |
28 | Correct | 2 ms | 256 KB | Ok |
29 | Correct | 2 ms | 376 KB | Ok |
30 | Correct | 2 ms | 376 KB | Ok |
31 | Correct | 2 ms | 256 KB | Ok |
32 | Correct | 2 ms | 376 KB | Ok |
33 | Correct | 2 ms | 256 KB | Ok |
34 | Correct | 2 ms | 256 KB | Ok |
35 | Correct | 2 ms | 256 KB | Ok |
36 | Correct | 4 ms | 376 KB | Ok |
37 | Correct | 0 ms | 256 KB | Ok |
38 | Correct | 2 ms | 256 KB | Ok |
39 | Correct | 114 ms | 17108 KB | Ok |
40 | Correct | 97 ms | 18816 KB | Ok |
41 | Correct | 165 ms | 20600 KB | Ok |
42 | Correct | 170 ms | 17896 KB | Ok |
43 | Correct | 80 ms | 12244 KB | Ok |
44 | Correct | 147 ms | 20728 KB | Ok |
45 | Correct | 4 ms | 504 KB | Ok |
46 | Correct | 4 ms | 632 KB | Ok |
47 | Correct | 4 ms | 632 KB | Ok |
48 | Correct | 3 ms | 632 KB | Ok |
49 | Correct | 3 ms | 504 KB | Ok |
50 | Correct | 3 ms | 632 KB | Ok |
51 | Correct | 3 ms | 504 KB | Ok |
52 | Correct | 4 ms | 504 KB | Ok |
53 | Correct | 4 ms | 632 KB | Ok |
54 | Correct | 4 ms | 632 KB | Ok |
55 | Correct | 7 ms | 760 KB | Ok |
56 | Correct | 7 ms | 888 KB | Ok |
57 | Correct | 7 ms | 888 KB | Ok |
58 | Correct | 8 ms | 892 KB | Ok |
59 | Correct | 7 ms | 888 KB | Ok |
60 | Correct | 6 ms | 760 KB | Ok |
61 | Correct | 7 ms | 888 KB | Ok |
62 | Correct | 7 ms | 760 KB | Ok |
63 | Correct | 6 ms | 760 KB | Ok |
64 | Correct | 7 ms | 888 KB | Ok |
65 | Correct | 69 ms | 8600 KB | Ok |
66 | Correct | 76 ms | 8164 KB | Ok |
67 | Correct | 72 ms | 8172 KB | Ok |
68 | Correct | 56 ms | 7408 KB | Ok |
69 | Correct | 81 ms | 8464 KB | Ok |
70 | Correct | 74 ms | 7540 KB | Ok |
71 | Correct | 63 ms | 7068 KB | Ok |
72 | Correct | 60 ms | 8060 KB | Ok |
73 | Correct | 89 ms | 8016 KB | Ok |
74 | Correct | 69 ms | 7120 KB | Ok |
75 | Correct | 79 ms | 7892 KB | Ok |
76 | Correct | 77 ms | 8184 KB | Ok |
77 | Correct | 62 ms | 7640 KB | Ok |
78 | Correct | 62 ms | 7836 KB | Ok |
79 | Correct | 72 ms | 7820 KB | Ok |
80 | Correct | 333 ms | 14112 KB | Ok |
81 | Correct | 355 ms | 15372 KB | Ok |
82 | Correct | 247 ms | 12600 KB | Ok |
83 | Correct | 258 ms | 14652 KB | Ok |
84 | Correct | 295 ms | 13272 KB | Ok |
85 | Correct | 250 ms | 12476 KB | Ok |
86 | Correct | 260 ms | 12788 KB | Ok |
87 | Correct | 322 ms | 15280 KB | Ok |
88 | Correct | 239 ms | 11976 KB | Ok |
89 | Correct | 325 ms | 14924 KB | Ok |
90 | Correct | 282 ms | 13904 KB | Ok |
91 | Correct | 244 ms | 13240 KB | Ok |
92 | Correct | 276 ms | 14416 KB | Ok |
93 | Correct | 271 ms | 13988 KB | Ok |
94 | Correct | 240 ms | 13112 KB | Ok |
95 | Correct | 190 ms | 19740 KB | Ok |
96 | Correct | 356 ms | 29012 KB | Ok |
97 | Correct | 299 ms | 23716 KB | Ok |
98 | Correct | 224 ms | 24420 KB | Ok |
99 | Correct | 209 ms | 23340 KB | Ok |
100 | Correct | 306 ms | 23004 KB | Ok |
101 | Correct | 239 ms | 26988 KB | Ok |
102 | Correct | 289 ms | 26408 KB | Ok |
103 | Correct | 301 ms | 29200 KB | Ok |
104 | Correct | 330 ms | 32900 KB | Ok |
105 | Correct | 364 ms | 34208 KB | Ok |
106 | Correct | 292 ms | 28736 KB | Ok |
107 | Correct | 309 ms | 27372 KB | Ok |
108 | Correct | 391 ms | 34320 KB | Ok |
109 | Correct | 314 ms | 30008 KB | Ok |
110 | Execution timed out | 2070 ms | 52068 KB | Time limit exceeded |
111 | Halted | 0 ms | 0 KB | - |