| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1309992 | settop | Permutation (APIO22_perm) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
#include "perm.h"
using namespace std;
#define int long long
#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define sz(x) (int)x.size()
vector<int> construct_permutation(long long k){
vector<int> ans(60);
fall(i,0,59) ans[i]=i;
int mask=(1LL<<60)-k;
rfall(i,59,0){
if(mask<k) break;
mask-=k;
ans.pop_back();
}
rfall(i,sz(ans)-2,0) if((mask & (1LL<<i))) swap(ans[i],ans[i+1]);
return ans;
}
