# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
969555 | Syrius | 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 <bits/stdc++.h>
#include "perm.h"
using namespace std;
// #define int long long
#define ll long long
#define ff first
#define ss second
#define pint pair < int , int >
#define fast ios_base::sync_with_stdio(NULL); cin.tie(NULL)
// typedef vector < int > vint;
const int inf = 1e9 + 9;
const int mxn = 2e5 + 2;
const int mod = 1e9 + 7;
vector < int > contsruct_permutation(long long k) {
vint v;
int mn = 0 , mx = 0;
int kk = k;
while (k != 1) {
if (k % 2 == 0) k /= 2;
else k--;
mx++;
}
k = kk;
while (k != 1) {
if (k % 2 == 0) {
k /= 2;
v.push_back(mx);
mx--;
} else {
k--;
v.push_back(mn);
}
}
reverse(v.begin() , v.end());
return v;
}