# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
576249 | 2022-06-12T17:31:31 Z | AugustinasJucas | Unscrambling a Messy Bug (IOI16_messy) | C++14 | 3 ms | 504 KB |
#include <bits/stdc++.h> #include "messy.h" using namespace std; int n; string nl; vector<int> ans; vector<int> nera(vector<int> a ) { vector<int> ret; set<int> setas; for(auto &x : a) setas.insert(x); for(int i = 0; i < n; i++) { if(setas.count(i) == 0) ret.push_back(i); } return ret; } string nr(vector<int> x ) { string ret = nl; for(auto &y : x) ret[y] = '1'; return ret; } void darom(vector<int> mas) { if(mas.size() == 1) return ; vector<int> a, b; for(int i = 0; i < mas.size()/2; i++) { a.push_back(mas[i]); b.push_back(mas[i+mas.size()/2]); } string s = nr(nera(mas)); for(auto &x : b) { s[x] = '1'; add_element(s); s[x] = '0'; } darom(a); darom(b); } int sk = 0; void rask(vector<int> mas) { if(mas.size() == 1) { ans[mas[0]] = sk; return ; } string s = nr(nera(mas)); vector<int> a, b; for(auto &x : mas){ s[x] = '1'; if(check_element(s) == 1) { a.push_back(x); }else { b.push_back(x); } s[x] = '0'; } sk = sk * 2 + 1; rask(a); sk--; rask(b); sk /= 2; } vector<int> restore_permutation(int N, int w, int r) { /* add_element("0"); compile_set(); check_element("0"); */ n = N; ans.resize(n); for(int i = 0; i < n; i++) nl.push_back('0'); vector<int> ms; for(int i = 0; i < n; i++) ms.push_back(i); darom(ms); compile_set(); rask(ms); return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 8 |
2 | Correct | 1 ms | 296 KB | n = 8 |
3 | Correct | 1 ms | 304 KB | n = 8 |
4 | Correct | 1 ms | 212 KB | n = 8 |
5 | Correct | 1 ms | 212 KB | n = 8 |
6 | Correct | 1 ms | 212 KB | n = 8 |
7 | Correct | 1 ms | 212 KB | n = 8 |
8 | Correct | 1 ms | 212 KB | n = 8 |
9 | Correct | 0 ms | 212 KB | n = 8 |
10 | Correct | 1 ms | 212 KB | n = 8 |
11 | Correct | 1 ms | 212 KB | n = 8 |
12 | Correct | 0 ms | 212 KB | n = 8 |
13 | Correct | 1 ms | 212 KB | n = 8 |
14 | Correct | 0 ms | 212 KB | n = 8 |
15 | Correct | 1 ms | 212 KB | n = 8 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | n = 32 |
2 | Correct | 1 ms | 212 KB | n = 32 |
3 | Correct | 1 ms | 300 KB | n = 32 |
4 | Correct | 1 ms | 212 KB | n = 32 |
5 | Correct | 1 ms | 296 KB | n = 32 |
6 | Correct | 1 ms | 212 KB | n = 32 |
7 | Correct | 1 ms | 212 KB | n = 32 |
8 | Correct | 1 ms | 212 KB | n = 32 |
9 | Correct | 1 ms | 300 KB | n = 32 |
10 | Correct | 1 ms | 340 KB | n = 32 |
11 | Correct | 1 ms | 212 KB | n = 32 |
12 | Correct | 1 ms | 212 KB | n = 32 |
13 | Correct | 1 ms | 212 KB | n = 32 |
14 | Correct | 1 ms | 212 KB | n = 32 |
15 | Correct | 1 ms | 296 KB | n = 32 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | n = 32 |
2 | Correct | 1 ms | 212 KB | n = 32 |
3 | Correct | 1 ms | 296 KB | n = 32 |
4 | Correct | 1 ms | 300 KB | n = 32 |
5 | Correct | 1 ms | 212 KB | n = 32 |
6 | Correct | 1 ms | 212 KB | n = 32 |
7 | Correct | 1 ms | 212 KB | n = 32 |
8 | Correct | 1 ms | 212 KB | n = 32 |
9 | Correct | 1 ms | 212 KB | n = 32 |
10 | Correct | 1 ms | 212 KB | n = 32 |
11 | Correct | 1 ms | 212 KB | n = 32 |
12 | Correct | 1 ms | 212 KB | n = 32 |
13 | Correct | 1 ms | 300 KB | n = 32 |
14 | Correct | 1 ms | 300 KB | n = 32 |
15 | Correct | 1 ms | 212 KB | n = 32 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 428 KB | n = 128 |
2 | Correct | 2 ms | 468 KB | n = 128 |
3 | Correct | 2 ms | 468 KB | n = 128 |
4 | Correct | 2 ms | 432 KB | n = 128 |
5 | Correct | 2 ms | 468 KB | n = 128 |
6 | Correct | 2 ms | 468 KB | n = 128 |
7 | Correct | 2 ms | 468 KB | n = 128 |
8 | Correct | 2 ms | 468 KB | n = 128 |
9 | Correct | 2 ms | 424 KB | n = 128 |
10 | Correct | 2 ms | 504 KB | n = 128 |
11 | Correct | 2 ms | 468 KB | n = 128 |
12 | Correct | 2 ms | 468 KB | n = 128 |
13 | Correct | 2 ms | 468 KB | n = 128 |
14 | Correct | 2 ms | 428 KB | n = 128 |
15 | Correct | 2 ms | 468 KB | n = 128 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 468 KB | n = 128 |
2 | Correct | 2 ms | 468 KB | n = 128 |
3 | Correct | 2 ms | 468 KB | n = 128 |
4 | Correct | 2 ms | 468 KB | n = 128 |
5 | Correct | 2 ms | 468 KB | n = 128 |
6 | Correct | 2 ms | 468 KB | n = 128 |
7 | Correct | 2 ms | 468 KB | n = 128 |
8 | Correct | 2 ms | 432 KB | n = 128 |
9 | Correct | 3 ms | 468 KB | n = 128 |
10 | Correct | 2 ms | 468 KB | n = 128 |
11 | Correct | 3 ms | 468 KB | n = 128 |
12 | Correct | 2 ms | 468 KB | n = 128 |
13 | Correct | 2 ms | 468 KB | n = 128 |
14 | Correct | 2 ms | 468 KB | n = 128 |
15 | Correct | 2 ms | 468 KB | n = 128 |