Submission #739318

#TimeUsernameProblemLanguageResultExecution timeMemory
739318CyberCrazePermutation (APIO22_perm)C++17
10 / 100
1 ms340 KiB
#include <bits/stdc++.h>
#define ll long long
#define FOR(i,a,b) for(ll i=a;i<b;i++)
using namespace std;

vector<int> construct_permutation(ll k){
    //consecutive list of length n=2^n sets
    int lbit=__lg(k);
    ll ix=0;
    vector<int> ans;FOR(i,0,lbit){ans.push_back(ix);ix++;};
    k-=pow(2,lbit);
    //2^n, the rest is 2^n-1
    while(k>0){
        lbit=__lg(k);
        k-=pow(2,lbit);
        ans.insert(ans.begin()+lbit,ix);
        ix++;
    };
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...