#include <vector>
#include "messy.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
/*
string toBin(int num)
{
string res;
while (num > 0)
{
res += (num %= 2) - '0';
res /= 2;
}
return res;
}*/
int n;
void cons(int a, int b, int pa, int pb, int node)
{
if (node % 2 == 1)
{
string cur (n, '1');
for (int i = pa; i<= pb; i++) cur[i] = '0';
for (int i = a; i <= b; i++)
{
cur[i] = '1';
add_element(cur);
//cout << cur << " " << "a" << " " << a << " " << b << " " << pa << " " << pb <<endl;
cur[i] = '0';
}
}
if (a == b) return;
int mid =(a + b) / 2;
cons(a, mid, a, b, node * 2);
cons(mid + 1, b, a, b, node * 2 + 1);
}
vector<int> solve(vector<int> on)
{
if (!on.empty())
{
/*
for (int i : on) cout << i << " ";
cout << endl; */
}
if (on.size() == 1) return on;
string cur (n, '1');
for (int i : on) cur[i] = '0';
vector<int> leftt;
vector<int> rightt;
for (int i : on)
{
cur[i] = '1';
//cout << on.size() << " "<< i << " " << cur << endl;
if (check_element(cur))
{
//cout << "Oj" << endl;
rightt.push_back(i);
}
else leftt.push_back(i);
cur[i] = '0';
}
leftt = solve(leftt);
rightt = solve(rightt);
vector<int> res;
for (int i : leftt) res.push_back(i);
for (int i : rightt) res.push_back(i);
return res;
}
std::vector<int> restore_permutation(int N, int w, int r) {
n = N;
cons(0, n - 1, 0, n - 1, 0);
compile_set();
vector<int> on;
for (int i = 0; i < n; i++) on.push_back(i);
on = solve(on);
vector<int> res(n);
for (int i = 0; i < n; i++) res[on[i]] = i;
return res;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
n = 8 |
2 |
Correct |
1 ms |
204 KB |
n = 8 |
3 |
Correct |
1 ms |
204 KB |
n = 8 |
4 |
Correct |
1 ms |
204 KB |
n = 8 |
5 |
Correct |
1 ms |
204 KB |
n = 8 |
6 |
Correct |
1 ms |
204 KB |
n = 8 |
7 |
Correct |
1 ms |
204 KB |
n = 8 |
8 |
Correct |
1 ms |
208 KB |
n = 8 |
9 |
Correct |
1 ms |
204 KB |
n = 8 |
10 |
Correct |
1 ms |
204 KB |
n = 8 |
11 |
Correct |
1 ms |
208 KB |
n = 8 |
12 |
Correct |
1 ms |
208 KB |
n = 8 |
13 |
Correct |
1 ms |
204 KB |
n = 8 |
14 |
Correct |
1 ms |
204 KB |
n = 8 |
15 |
Correct |
1 ms |
204 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
n = 32 |
2 |
Correct |
1 ms |
204 KB |
n = 32 |
3 |
Correct |
1 ms |
204 KB |
n = 32 |
4 |
Correct |
1 ms |
204 KB |
n = 32 |
5 |
Correct |
1 ms |
204 KB |
n = 32 |
6 |
Correct |
1 ms |
204 KB |
n = 32 |
7 |
Correct |
1 ms |
204 KB |
n = 32 |
8 |
Correct |
1 ms |
204 KB |
n = 32 |
9 |
Correct |
1 ms |
204 KB |
n = 32 |
10 |
Correct |
1 ms |
204 KB |
n = 32 |
11 |
Correct |
1 ms |
208 KB |
n = 32 |
12 |
Correct |
1 ms |
204 KB |
n = 32 |
13 |
Correct |
1 ms |
204 KB |
n = 32 |
14 |
Correct |
1 ms |
204 KB |
n = 32 |
15 |
Correct |
1 ms |
204 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
n = 32 |
2 |
Correct |
1 ms |
204 KB |
n = 32 |
3 |
Correct |
1 ms |
204 KB |
n = 32 |
4 |
Correct |
1 ms |
204 KB |
n = 32 |
5 |
Correct |
1 ms |
204 KB |
n = 32 |
6 |
Correct |
1 ms |
204 KB |
n = 32 |
7 |
Correct |
1 ms |
204 KB |
n = 32 |
8 |
Correct |
1 ms |
204 KB |
n = 32 |
9 |
Correct |
1 ms |
204 KB |
n = 32 |
10 |
Correct |
1 ms |
204 KB |
n = 32 |
11 |
Correct |
1 ms |
204 KB |
n = 32 |
12 |
Correct |
1 ms |
204 KB |
n = 32 |
13 |
Correct |
1 ms |
204 KB |
n = 32 |
14 |
Correct |
1 ms |
204 KB |
n = 32 |
15 |
Correct |
1 ms |
204 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
460 KB |
n = 128 |
2 |
Correct |
2 ms |
460 KB |
n = 128 |
3 |
Correct |
2 ms |
460 KB |
n = 128 |
4 |
Correct |
2 ms |
460 KB |
n = 128 |
5 |
Correct |
2 ms |
424 KB |
n = 128 |
6 |
Correct |
2 ms |
436 KB |
n = 128 |
7 |
Correct |
2 ms |
460 KB |
n = 128 |
8 |
Correct |
2 ms |
460 KB |
n = 128 |
9 |
Correct |
2 ms |
460 KB |
n = 128 |
10 |
Correct |
2 ms |
460 KB |
n = 128 |
11 |
Correct |
2 ms |
420 KB |
n = 128 |
12 |
Correct |
3 ms |
460 KB |
n = 128 |
13 |
Correct |
2 ms |
460 KB |
n = 128 |
14 |
Correct |
2 ms |
460 KB |
n = 128 |
15 |
Correct |
2 ms |
424 KB |
n = 128 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
460 KB |
n = 128 |
2 |
Correct |
2 ms |
460 KB |
n = 128 |
3 |
Correct |
2 ms |
460 KB |
n = 128 |
4 |
Correct |
2 ms |
460 KB |
n = 128 |
5 |
Correct |
2 ms |
460 KB |
n = 128 |
6 |
Correct |
2 ms |
420 KB |
n = 128 |
7 |
Correct |
2 ms |
464 KB |
n = 128 |
8 |
Correct |
2 ms |
460 KB |
n = 128 |
9 |
Correct |
2 ms |
460 KB |
n = 128 |
10 |
Correct |
2 ms |
460 KB |
n = 128 |
11 |
Correct |
3 ms |
460 KB |
n = 128 |
12 |
Correct |
2 ms |
460 KB |
n = 128 |
13 |
Correct |
2 ms |
460 KB |
n = 128 |
14 |
Correct |
2 ms |
460 KB |
n = 128 |
15 |
Correct |
3 ms |
460 KB |
n = 128 |