Submission #1012786

#TimeUsernameProblemLanguageResultExecution timeMemory
1012786codefoxPermutation (APIO22_perm)C++17
0 / 100
0 ms348 KiB
#include<bits/stdc++.h> #include "perm.h" using namespace std; std::vector<int> construct_permutation(long long k) { int l = 0; for (int i = 62; i>= 0; i--) { if (k&(1LL<<i)) l =max(l,i); } vector<int> sol(l); iota(sol.begin(), sol.end(), 0); int d = l; for (int i = l-1; i >= 0; i--) { if (k&(1LL<<i)) { if (i%2 && k&(1LL<<(i-1)) && d-l>=2) { i--; int h = 0; for (int j = sol.size()-1; j >= 0; j--) { if (sol[j]>=l) { sol[j]++; h++; } if (h==2) break; } sol.push_back(0); for (int j = sol.size()-1; j > i; j--) { sol[j] = sol[j-1]; } sol[i] = d - 2; d++; } else { sol.push_back(0); for (int j = sol.size()-1; j >i; j--) { sol[j] = sol[j-1]; } sol[i] = d++; } } } return sol; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...