# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
738749 | shantol | Permutation (APIO22_perm) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "perm.h"
#include<bits/stdc++.h>
#define ll long long
vector<int> construct_permutation(ll k){
vector<int> ans;
k--;
for(ll p=1, i=0;p<=k;i++,p=(p<<1)|1){
ans.pb(i);
}
ll p=ans.sz;
vector<vector<int>> v(p+1);
k=k-(1<<p)+1;
for(int i=ans.sz-1;i>=0;i--){
while(k>=(1<<i)){
v[i].pb(p++);
k-=(1<<i);
}
}
vector<int> val;
for(int i=0;i<ans.sz;i++){
for(int j:v[i])val.pb(j);
val.pb(ans[i]);
}
return val;
}