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<bits/stdc++.h>
#include "perm.h"
using namespace std;
#ifdef LOCAL
#include "debug.cpp"
#else
#define debug(...)
#endif
vector<int> construct_permutation(long long k) {
int size = log2(k);
vector<int> perm(size);
for(int i = 0; i < size; i++){
perm[i] = i;
}
k-=(1 << size);
int insert = size;
while(true){
if(k == 0){
break;
}
int ind = log2(k);
k-=(1 << ind);
if(ind == 0){
perm.insert(perm.begin(), insert);
insert++;
continue;
}
perm.insert(perm.begin() + ind, insert);
insert++;
}
debug(perm);
return perm;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |