# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
65960 | 2018-08-09T07:42:37 Z | gs13068 | Unscrambling a Messy Bug (IOI16_messy) | C++17 | 4 ms | 512 KB |
#include <vector> #include <cstdio> #include <string> #include "messy.h" using namespace std; int N; int R[128]; void push(int l, int r) { if (r - l == 1) return; string s(N, '0'); int i; for (i = l; i < r; i++) s[i] = '1'; for (i = l; i < (l + r >> 1); i++) { s[i] = '0'; add_element(s); s[i] = '1'; } push(l, l + r >> 1); push(l + r >> 1, r); } void pop(vector<int> a, int k) { if (a.size() == 1) { R[a[0]] = k; return; } string s(N, '0'); vector<int> l, r; for (auto t : a) s[t] = '1'; for (auto t : a) { s[t] = '0'; if (check_element(s)) l.push_back(t); else r.push_back(t); s[t] = '1'; } pop(l, k); pop(r, k | r.size()); } std::vector<int> restore_permutation(int n, int w, int r) { vector<int> res; int i; N = n; push(0, n); compile_set(); for (i = 0; i < n; i++) res.push_back(i); pop(res, 0); return vector<int>(R, R + n); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | n = 8 |
2 | Correct | 2 ms | 256 KB | n = 8 |
3 | Correct | 2 ms | 256 KB | n = 8 |
4 | Correct | 2 ms | 256 KB | n = 8 |
5 | Correct | 2 ms | 384 KB | n = 8 |
6 | Correct | 2 ms | 256 KB | n = 8 |
7 | Correct | 2 ms | 384 KB | n = 8 |
8 | Correct | 2 ms | 256 KB | n = 8 |
9 | Correct | 2 ms | 384 KB | n = 8 |
10 | Correct | 2 ms | 256 KB | n = 8 |
11 | Correct | 2 ms | 384 KB | n = 8 |
12 | Correct | 2 ms | 256 KB | n = 8 |
13 | Correct | 2 ms | 384 KB | n = 8 |
14 | Correct | 2 ms | 256 KB | n = 8 |
15 | Correct | 2 ms | 384 KB | n = 8 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | n = 32 |
2 | Correct | 2 ms | 304 KB | n = 32 |
3 | Correct | 2 ms | 384 KB | n = 32 |
4 | Correct | 2 ms | 384 KB | n = 32 |
5 | Correct | 2 ms | 256 KB | n = 32 |
6 | Correct | 2 ms | 384 KB | n = 32 |
7 | Correct | 2 ms | 256 KB | n = 32 |
8 | Correct | 2 ms | 256 KB | n = 32 |
9 | Correct | 2 ms | 384 KB | n = 32 |
10 | Correct | 2 ms | 384 KB | n = 32 |
11 | Correct | 2 ms | 384 KB | n = 32 |
12 | Correct | 2 ms | 384 KB | n = 32 |
13 | Correct | 2 ms | 384 KB | n = 32 |
14 | Correct | 2 ms | 384 KB | n = 32 |
15 | Correct | 2 ms | 384 KB | n = 32 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | n = 32 |
2 | Correct | 2 ms | 384 KB | n = 32 |
3 | Correct | 2 ms | 384 KB | n = 32 |
4 | Correct | 2 ms | 384 KB | n = 32 |
5 | Correct | 2 ms | 384 KB | n = 32 |
6 | Correct | 2 ms | 384 KB | n = 32 |
7 | Correct | 2 ms | 384 KB | n = 32 |
8 | Correct | 3 ms | 384 KB | n = 32 |
9 | Correct | 2 ms | 256 KB | n = 32 |
10 | Correct | 2 ms | 256 KB | n = 32 |
11 | Correct | 2 ms | 384 KB | n = 32 |
12 | Correct | 2 ms | 384 KB | n = 32 |
13 | Correct | 2 ms | 384 KB | n = 32 |
14 | Correct | 2 ms | 384 KB | n = 32 |
15 | Correct | 2 ms | 384 KB | n = 32 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 512 KB | n = 128 |
2 | Correct | 3 ms | 512 KB | n = 128 |
3 | Correct | 3 ms | 512 KB | n = 128 |
4 | Correct | 3 ms | 512 KB | n = 128 |
5 | Correct | 3 ms | 512 KB | n = 128 |
6 | Correct | 3 ms | 512 KB | n = 128 |
7 | Correct | 3 ms | 512 KB | n = 128 |
8 | Correct | 3 ms | 512 KB | n = 128 |
9 | Correct | 3 ms | 512 KB | n = 128 |
10 | Correct | 3 ms | 512 KB | n = 128 |
11 | Correct | 4 ms | 512 KB | n = 128 |
12 | Correct | 3 ms | 512 KB | n = 128 |
13 | Correct | 3 ms | 512 KB | n = 128 |
14 | Correct | 3 ms | 512 KB | n = 128 |
15 | Correct | 3 ms | 512 KB | n = 128 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 512 KB | n = 128 |
2 | Correct | 3 ms | 512 KB | n = 128 |
3 | Correct | 3 ms | 512 KB | n = 128 |
4 | Correct | 3 ms | 512 KB | n = 128 |
5 | Correct | 3 ms | 512 KB | n = 128 |
6 | Correct | 3 ms | 512 KB | n = 128 |
7 | Correct | 3 ms | 512 KB | n = 128 |
8 | Correct | 3 ms | 512 KB | n = 128 |
9 | Correct | 3 ms | 512 KB | n = 128 |
10 | Correct | 3 ms | 512 KB | n = 128 |
11 | Correct | 3 ms | 512 KB | n = 128 |
12 | Correct | 3 ms | 512 KB | n = 128 |
13 | Correct | 3 ms | 512 KB | n = 128 |
14 | Correct | 3 ms | 512 KB | n = 128 |
15 | Correct | 3 ms | 512 KB | n = 128 |