Submission #1226711

#TimeUsernameProblemLanguageResultExecution timeMemory
1226711abdelhakimPermutation (APIO22_perm)C++20
91.33 / 100
1 ms328 KiB
#include "perm.h" #include<bits/stdc++.h> #define ll long long using namespace std; std::vector<int> construct_permutation(long long k) { vector<ll> l3ibat; vector<bool> kayn(61); for (int i=0;i<=60;i++) { ll num=1LL<<i; if(num & k) { l3ibat.push_back(i); kayn[i]=1; } } ll n=l3ibat.back(); vector<ll> p1(n); iota(p1.begin(),p1.end(),1); ll cur=0; for (int i=1;i<n;i++) { if(kayn[n-i]) { cur++; } p1[i]+=cur; } vector<int> nzido; if(k%2) nzido.push_back(p1.back()+1); for (int i=n-1;i>=1;i--) { if(p1[i]-p1[i-1]==2) { nzido.push_back(p1[i]-1); } } for (int i=0;i<n;i++) { nzido.push_back(p1[i]); } for (auto &&e : nzido) { e--; } return nzido; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...