#include "messy.h"
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n;
int p[128];
void dnc(vector<bool> v, int l = 0, int r = n - 1) {
if (l == r) {
for (int i = 0;i < n;i++) {
if (v[i]) p[i] = l;
}
return;
}
string res = string(n, '1');
vector<bool> vl(n, 0), vr(n, 0);
for (int i = 0;i < n;i++) {
if (v[i]) res[i] = '0';
}
for (int i = 0;i < n;i++) {
if (!v[i]) continue;
res[i] = '1';
if (check_element(res)) vl[i] = 1;
else vr[i] = 1;
res[i] = '0';
}
int mid = (l + r) / 2;
dnc(vl, l, mid), dnc(vr, mid + 1, r);
}
vector<int> restore_permutation(int _N, int w, int r) {
n = _N;
int now = n;
while (now != 1) {
for (int i = 0, j = now - 1;i < n;i += now, j += now) {
string s = string(n, '1');
for (int k = i;k <= j;k++) {
s[k] = '0';
}
for (int k = i;k < i + now / 2;k++) {
s[k] = '1';
add_element(s);
s[k] = '0';
}
}
now >>= 1;
}
compile_set();
vector<int> ans(n);
vector<bool> v(n, 1);
dnc(v);
for (int i = 0;i < n;i++) {
ans[i] = p[i];
}
return ans;
}
/*
Debug 0 3
1 1 1 1
Debug 0 1
0 1 0 1
Debug 0 0
0 0 0 1
Debug 1 1
0 1 0 0
Debug 2 3
1 0 1 0
Debug 2 2
1 0 0 0
Debug 3 3
0 0 1 0
*/
Compilation message (stderr)
messy.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
messy_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |