이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//#include "perm.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> construct_permutation(long long k)
{
k--;
vector<int>res;
long long sz=0;
long long fk=k;
for(long long j=62;j>=1;j--){
while(k>=((1ll<<j)-1)){
sz+=j;
// cout<<k<<endl;
k-=((1ll)<<j)-1;
}
}
res.resize(sz);
long long now=sz;
k=fk;
long long noww=0;
for(long long j=62;j>=1;j--){
while(k>=((1ll<<j)-1)){
long long fake=now-j;
for(long long h=0;h<j;h++,fake++,noww++){
res[noww]=fake;
}
now-=j;
// cout<<k<<endl;
k-=(1ll<<j)-1;
}
}
//for(auto x:res){
// cout<<x<<" ";
//}
//cout<<"\n";
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |