# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
968575 | batsukh2006 | 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<iostream>
#include<stdio.h>
#include<math.h>
#include<map>
#include<string>
#include<algorithm>
#include<vector>
#include<string.h>
#include<utility>
#include<set>
#include<cmath>
#include<queue>
#include<deque>
#include<functional>
#include<stack>
#include<limits.h>
#include<iomanip>
#include<unordered_map>
#include<numeric>
#include<tuple>
using namespace std;
#define MOD 1000000007
#define int long long
#define endl '\n'
void solve(){
int k; cin>>k;
int lst=0,sum=0;
for(long long i=0; i<60; i++){
if(k&(1ll<<i)){
lst=i;
sum++;
}
}
vector<int> v;
int x=0,z=lst+sum-2;
for(long long i=0; i<lst; i++,x++){
if(k&(1ll<<i)){
v.push_back(z);
z--;
}
v.push_back(x);
}
for(auto x: v) cout<<x<<' ';
}
signed main(){
// freopen("248.in", "r", stdin);
// freopen("248.out", "w", stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t=1;
// cin>>t;
while(t--){
solve();
cout<<endl;
}
return 0;
}