Submission #1344521

#TimeUsernameProblemLanguageResultExecution timeMemory
1344521omarrrrPermutation (APIO22_perm)C++20
91.33 / 100
1 ms344 KiB
#include "perm.h"

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define F first
#define S second
#define pb push_back
std::vector<int> construct_permutation(long long k)
{
    vector<ll>ps;
    for(ll i=0;i<63;i++){
        if(k&(1LL<<i)){
            ps.pb(i);
        }
    }
    sort(ps.begin(),ps.end(),greater<ll>());
    int x=0;
    vector<int>res;
    for(ll i=0;i<ps[0];i++){
        res.pb(x);
        x++;
    }
    for(ll i=1;i<ps.size();i++){
        vector<int>fres;
        for(ll j=0;j<ps[i];j++){
            fres.pb(res[j]);
        }
        fres.pb(x++);
        for(ll j=ps[i];j<res.size();j++){
            fres.pb(res[j]);
        }
        res=fres;
    }


    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...