#include <bits/stdc++.h>
using namespace std;
#include "messy.h"
int n;
void insert(int a, int b) {
if(a == b)
return ;
for(int i = a ; i <= (a + b) / 2 ; i++) {
string s;
for(int j = 0 ; j < n ; j++)
if(j == i || j < a || j > b)
s += "1";
else
s += "0";
add_element(s);
}
insert(a, (a + b) / 2);
insert((a + b) / 2 + 1, b);
}
vector<int> p;
void restore(int a, int b, vector<int> &V) {
if(a == b) {
p[V[0]] = a;
return ;
}
vector<int> VB1, VB2;
bool hlp[130];
memset(hlp, 0, sizeof hlp);
for(int x : V)
hlp[x] = 1;
for(int i : V) {
string s;
for(int j = 0 ; j < n ; j++)
if(j == i || !hlp[j])
s += "1";
else
s += "0";
if(check_element(s))
VB1.push_back(i);
else
VB2.push_back(i);
}
restore(a, (a + b) / 2, VB1);
restore((a + b) / 2 + 1, b, VB2);
}
std::vector<int> restore_permutation(int n, int w, int r) {
::n = n;
insert(0, n - 1);
compile_set();
vector<int> V;
for(int i = 0 ; i < n ; i++)
V.push_back(i);
p.resize(n);
restore(0, n - 1, V);
return p;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
n = 8 |
2 |
Correct |
5 ms |
256 KB |
n = 8 |
3 |
Correct |
6 ms |
376 KB |
n = 8 |
4 |
Correct |
5 ms |
376 KB |
n = 8 |
5 |
Correct |
5 ms |
256 KB |
n = 8 |
6 |
Correct |
5 ms |
376 KB |
n = 8 |
7 |
Correct |
5 ms |
376 KB |
n = 8 |
8 |
Correct |
5 ms |
256 KB |
n = 8 |
9 |
Correct |
5 ms |
376 KB |
n = 8 |
10 |
Correct |
5 ms |
248 KB |
n = 8 |
11 |
Correct |
5 ms |
376 KB |
n = 8 |
12 |
Correct |
5 ms |
380 KB |
n = 8 |
13 |
Correct |
5 ms |
376 KB |
n = 8 |
14 |
Correct |
5 ms |
376 KB |
n = 8 |
15 |
Correct |
5 ms |
376 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
376 KB |
n = 32 |
2 |
Correct |
5 ms |
376 KB |
n = 32 |
3 |
Correct |
5 ms |
376 KB |
n = 32 |
4 |
Correct |
5 ms |
376 KB |
n = 32 |
5 |
Correct |
5 ms |
376 KB |
n = 32 |
6 |
Correct |
5 ms |
376 KB |
n = 32 |
7 |
Correct |
5 ms |
376 KB |
n = 32 |
8 |
Correct |
5 ms |
376 KB |
n = 32 |
9 |
Correct |
5 ms |
376 KB |
n = 32 |
10 |
Correct |
5 ms |
376 KB |
n = 32 |
11 |
Correct |
5 ms |
376 KB |
n = 32 |
12 |
Correct |
5 ms |
376 KB |
n = 32 |
13 |
Correct |
5 ms |
376 KB |
n = 32 |
14 |
Correct |
5 ms |
376 KB |
n = 32 |
15 |
Correct |
5 ms |
376 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
376 KB |
n = 32 |
2 |
Correct |
5 ms |
376 KB |
n = 32 |
3 |
Correct |
5 ms |
376 KB |
n = 32 |
4 |
Correct |
5 ms |
376 KB |
n = 32 |
5 |
Correct |
5 ms |
376 KB |
n = 32 |
6 |
Correct |
5 ms |
376 KB |
n = 32 |
7 |
Correct |
5 ms |
376 KB |
n = 32 |
8 |
Correct |
5 ms |
376 KB |
n = 32 |
9 |
Correct |
5 ms |
376 KB |
n = 32 |
10 |
Correct |
5 ms |
376 KB |
n = 32 |
11 |
Correct |
5 ms |
376 KB |
n = 32 |
12 |
Correct |
5 ms |
376 KB |
n = 32 |
13 |
Correct |
5 ms |
376 KB |
n = 32 |
14 |
Correct |
5 ms |
504 KB |
n = 32 |
15 |
Correct |
6 ms |
380 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
508 KB |
n = 128 |
2 |
Correct |
8 ms |
504 KB |
n = 128 |
3 |
Correct |
8 ms |
504 KB |
n = 128 |
4 |
Correct |
8 ms |
504 KB |
n = 128 |
5 |
Correct |
8 ms |
504 KB |
n = 128 |
6 |
Correct |
8 ms |
504 KB |
n = 128 |
7 |
Correct |
8 ms |
688 KB |
n = 128 |
8 |
Correct |
8 ms |
504 KB |
n = 128 |
9 |
Correct |
8 ms |
504 KB |
n = 128 |
10 |
Correct |
8 ms |
504 KB |
n = 128 |
11 |
Correct |
8 ms |
504 KB |
n = 128 |
12 |
Correct |
8 ms |
504 KB |
n = 128 |
13 |
Correct |
8 ms |
504 KB |
n = 128 |
14 |
Correct |
8 ms |
504 KB |
n = 128 |
15 |
Correct |
8 ms |
504 KB |
n = 128 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
504 KB |
n = 128 |
2 |
Correct |
8 ms |
508 KB |
n = 128 |
3 |
Correct |
8 ms |
504 KB |
n = 128 |
4 |
Correct |
7 ms |
504 KB |
n = 128 |
5 |
Correct |
8 ms |
640 KB |
n = 128 |
6 |
Correct |
8 ms |
504 KB |
n = 128 |
7 |
Correct |
8 ms |
504 KB |
n = 128 |
8 |
Correct |
8 ms |
508 KB |
n = 128 |
9 |
Correct |
8 ms |
508 KB |
n = 128 |
10 |
Correct |
8 ms |
504 KB |
n = 128 |
11 |
Correct |
9 ms |
504 KB |
n = 128 |
12 |
Correct |
8 ms |
504 KB |
n = 128 |
13 |
Correct |
8 ms |
504 KB |
n = 128 |
14 |
Correct |
7 ms |
508 KB |
n = 128 |
15 |
Correct |
8 ms |
504 KB |
n = 128 |