#include "messy.h"
#include <bits/stdc++.h>
using namespace std;
int N;
string S;
vector<int> P, ans;
void add(int L,int R) {
if (L==R) return;
int M = (L+R)/2;
for (int i=0;i<N;i++) {
if (L<=i && i<=R) {
S[i] = '0';
}
else {
S[i] = '1';
}
}
for (int i=L;i<=M;i++) {
S[i] = '1';
add_element(S);
S[i] = '0';
}
add(L,M);
add(M+1,R);
}
void check(int L,int R) {
if (L == R) return;
int M = (L+R)/2;
for (int i=0;i<N;i++) {
if (L<=i && i<=R) {
S[P[i]] = '0';
}
else {
S[P[i]] = '1';
}
}
int i=L,j=R;
while (i<=M&&j>M) {
S[P[i]] = '1';
bool B = check_element(S);
S[P[i]] = '0';
if (B) {
i++;
}
else {
swap(P[i],P[j]);
j--;
}
}
check(L,M);
check(M+1,R);
}
vector<int> restore_permutation(int n, int w, int r) {
N = n;
for (int i=0;i<N;i++) {
S += '0';
P.push_back(i);
ans.push_back(0);
}
add(0,N-1);
compile_set();
check(0,N-1);
for (int i=0;i<N;i++) {
ans[P[i]] = i;
}
return ans;
}
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... |