#include "messy.h"
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define OYY LLONG_MAX
#define mod 1000000007
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define lim 100005
#define fi first
#define se second
#define pb push_back
typedef long double lo;
string s;
int dizi[lim];
//~ inline void add_element(string tut){
//~ cout<<tut<<endl;
//~ return ;
//~ }
//~ inline bool check_element(string tut){
//~ cout<<tut<<endl;
//~ bool x;cin>>x;
//~ return x;
//~ }
inline void build(int start,int end){
if(start==end)return ;
for(int i=start;i<=end;i++){
s[i]='0';
}
//cout<<start<<" "<<end<<" "<<s<<endl;
for(int i=start;i<=mid;i++){
s[i]='1';
add_element(s);
s[i]='0';
}
for(int i=start;i<=end;i++){
s[i]='1';
}
build(start,mid),build(mid+1,end);
}
inline void dnq(int start,int end,vector<int> ol){
if(start==end){
dizi[start]=ol.back();
return ;
}
vector<int> sol,sag;
for(auto i:ol){
s[i]='0';
}
for(auto i:ol){
s[i]='1';
int tut=check_element(s);
if(tut)sol.pb(i);
else sag.pb(i);
s[i]='0';
}
for(auto i:ol){
s[i]='1';
}
dnq(start,mid,sol),dnq(mid+1,end,sag);
}
vector<int> restore_permutation(int n, int w, int r) {
vector<int> cev(n);
FOR{
s+="0";
}
build(0,n-1);
vector<int> bos;
FOR{
bos.pb(i-1);
}
dnq(0,n-1,bos);
FOR{
cev[dizi[i-1]]=i-1;
}
//compile_set();
//check_element("0");
return cev;
}
//~ int main(){
//~ faster
//~ int n,w,r;
//~ cin>>n>>w>>r;
//~ vector<int> a=restore_permutation(n,w,r);
//~ for(auto x:a){
//~ cout<<x<<" ";
//~ }
//~ cout<<endl;
//~ return 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... |