| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 726738 | vjudge1 | Permutation (APIO22_perm) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
vector<int> construct_permutation(int64_t k) {
if (k == 1) return {};
if (k == 2) return {0};
for (int prime : {2, 3, 5, 7, 11}) {
if (k % prime == 0 && k > prime) {
vector<int> le = construct_permutation(k / prime);
vector<int> re = construct_permutation(prime);
for (auto& a : re) a += le.size();
le.insert(le.end(), re.begin(), re.end());
return le;
}
}
auto v = construct_permutation(k >> 1);
v.emplace_back(v.size());
for (auto& a : v) a++;
v.emplace_back(0);
return v;
}
