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;
vector<int> construct_permutation(long long k) {
//int cnt = std::popcount((unsigned long long) k);
int cnt=0;
int size =0;
long long t=k;
while(t>0){
size++;
t/=2;
if(t%2==1)
cnt++;
}
int len = size+cnt-1;
int h=len;
int a =1;
vector<int> out;
while(k>1){
if(k%2==1)
out.push_back(h--);
out.push_back(a++);
k/=2;
}
return out;
}
/*int main() {
long long k; cin>>k;
vector<int> ans = construct_permuation(k);
for(int i=0; i<ans.size(); i++)
cout<<ans[i]<<" ";
cout<<endl;
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |