#include<bits/stdc++.h>
#include "messy.h"
#define ll int
#define pb push_back
#define mp make_pair
#define ld long double
#define F first
#define S second
#define pii pair<ll,ll>
using namespace :: std;
const ll maxn=2e5+500;
const ll inf=1e9+900;
vector<ll> vec[maxn];
void bild(ll l,ll r,ll node){
for(ll i=l;i<r;i++){
vec[node].pb(i);
}
if(l+1==r)return;
ll mid=(l+r)/2;
bild(l,mid,2*node);
bild(mid,r,2*node+1);
}
vector<ll> p[maxn];
vector<int> restore_permutation(int n, int w, int r) {
bild(0,n,1);
string base;
for(ll i=0;i<n;i++){
base+="0";
}
for(ll i=2;i<maxn;i+=2){
if(vec[i].size()){
vector<ll> f;
ll v=i/2;
while(v!=1){
for(auto u:vec[v^1]){
f.pb(u);
}
v/=2;
}
string s=base;
for(auto r:f){
s[r]='1';
}
for(auto r:vec[i]){
s[r]='1';
add_element(s);
s[r]='0';
}
}
}
compile_set();
for(ll i=0;i<n;i++){
p[1].pb(i);
}
for(ll i=2;i<maxn;i+=2){
if(vec[i].size()){
vector<ll> f;
ll v=i/2;
while(v!=1){
for(auto u:p[v^1]){
f.pb(u);
}
v/=2;
}
string s=base;
for(auto r:f){
s[r]='1';
}
for(auto r:p[i/2]){
s[r]='1';
if(check_element(s)){
p[i].pb(r);
}else{
p[i^1].pb(r);
}
s[r]='0';
}
}
}
vector<ll> ans;
ans.resize(n);
for(ll i=0;i<maxn;i++){
if(vec[i].size()==1){
ans[p[i][0]]=vec[i][0];
}
}
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
9720 KB |
n = 8 |
2 |
Correct |
11 ms |
9720 KB |
n = 8 |
3 |
Correct |
13 ms |
9696 KB |
n = 8 |
4 |
Correct |
13 ms |
9720 KB |
n = 8 |
5 |
Correct |
14 ms |
9720 KB |
n = 8 |
6 |
Correct |
13 ms |
9720 KB |
n = 8 |
7 |
Correct |
11 ms |
9720 KB |
n = 8 |
8 |
Correct |
11 ms |
9720 KB |
n = 8 |
9 |
Correct |
13 ms |
9760 KB |
n = 8 |
10 |
Correct |
11 ms |
9720 KB |
n = 8 |
11 |
Correct |
11 ms |
9656 KB |
n = 8 |
12 |
Correct |
11 ms |
9720 KB |
n = 8 |
13 |
Correct |
11 ms |
9692 KB |
n = 8 |
14 |
Correct |
11 ms |
9720 KB |
n = 8 |
15 |
Correct |
13 ms |
9720 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
9720 KB |
n = 32 |
2 |
Correct |
11 ms |
9720 KB |
n = 32 |
3 |
Correct |
13 ms |
9720 KB |
n = 32 |
4 |
Correct |
11 ms |
9692 KB |
n = 32 |
5 |
Correct |
13 ms |
9720 KB |
n = 32 |
6 |
Correct |
11 ms |
9720 KB |
n = 32 |
7 |
Correct |
11 ms |
9720 KB |
n = 32 |
8 |
Correct |
11 ms |
9720 KB |
n = 32 |
9 |
Correct |
11 ms |
9692 KB |
n = 32 |
10 |
Correct |
14 ms |
9720 KB |
n = 32 |
11 |
Correct |
13 ms |
9724 KB |
n = 32 |
12 |
Correct |
14 ms |
9720 KB |
n = 32 |
13 |
Correct |
11 ms |
9720 KB |
n = 32 |
14 |
Correct |
11 ms |
9720 KB |
n = 32 |
15 |
Correct |
14 ms |
9848 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
9720 KB |
n = 32 |
2 |
Correct |
11 ms |
9764 KB |
n = 32 |
3 |
Correct |
11 ms |
9724 KB |
n = 32 |
4 |
Correct |
11 ms |
9720 KB |
n = 32 |
5 |
Correct |
12 ms |
9740 KB |
n = 32 |
6 |
Correct |
11 ms |
9720 KB |
n = 32 |
7 |
Correct |
11 ms |
9692 KB |
n = 32 |
8 |
Correct |
11 ms |
9720 KB |
n = 32 |
9 |
Correct |
11 ms |
9720 KB |
n = 32 |
10 |
Correct |
11 ms |
9720 KB |
n = 32 |
11 |
Correct |
11 ms |
9724 KB |
n = 32 |
12 |
Correct |
11 ms |
9720 KB |
n = 32 |
13 |
Correct |
11 ms |
9720 KB |
n = 32 |
14 |
Correct |
11 ms |
9724 KB |
n = 32 |
15 |
Correct |
11 ms |
9796 KB |
n = 32 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
9976 KB |
n = 128 |
2 |
Correct |
13 ms |
9976 KB |
n = 128 |
3 |
Correct |
13 ms |
9976 KB |
n = 128 |
4 |
Correct |
13 ms |
9976 KB |
n = 128 |
5 |
Correct |
13 ms |
9976 KB |
n = 128 |
6 |
Correct |
16 ms |
9976 KB |
n = 128 |
7 |
Correct |
17 ms |
9980 KB |
n = 128 |
8 |
Correct |
16 ms |
9976 KB |
n = 128 |
9 |
Correct |
16 ms |
9976 KB |
n = 128 |
10 |
Correct |
15 ms |
9976 KB |
n = 128 |
11 |
Correct |
13 ms |
9976 KB |
n = 128 |
12 |
Correct |
13 ms |
9976 KB |
n = 128 |
13 |
Correct |
13 ms |
9976 KB |
n = 128 |
14 |
Correct |
13 ms |
9976 KB |
n = 128 |
15 |
Correct |
13 ms |
9976 KB |
n = 128 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
9980 KB |
n = 128 |
2 |
Correct |
13 ms |
9948 KB |
n = 128 |
3 |
Correct |
13 ms |
10004 KB |
n = 128 |
4 |
Correct |
13 ms |
9976 KB |
n = 128 |
5 |
Correct |
14 ms |
9884 KB |
n = 128 |
6 |
Correct |
13 ms |
9976 KB |
n = 128 |
7 |
Correct |
13 ms |
9976 KB |
n = 128 |
8 |
Correct |
13 ms |
9976 KB |
n = 128 |
9 |
Correct |
16 ms |
9976 KB |
n = 128 |
10 |
Correct |
14 ms |
10080 KB |
n = 128 |
11 |
Correct |
13 ms |
9980 KB |
n = 128 |
12 |
Correct |
13 ms |
9976 KB |
n = 128 |
13 |
Correct |
13 ms |
9948 KB |
n = 128 |
14 |
Correct |
13 ms |
9976 KB |
n = 128 |
15 |
Correct |
13 ms |
9976 KB |
n = 128 |