#include "perm.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int mnVal;
void fix(vector<int> &res) {
int mn = 0;
for(auto &i : res) mn = min(mn, i);
for(auto &i : res) i -= mn;
}
vector<int> solve(ll k) {
vector<int> res;
if(k == 2) {
return {0};
} else if (k != 1) {
for(auto prime : {2, 3, 5, 7, 11}) {
if(k % prime == 0 && k != prime) {
res = solve(k/prime);
vector<int> res2 = solve(prime);
fix(res);
fix(res2);
int sizeee = (int)size(res);
for(auto i : res2) res.push_back(i + sizeee);
return res;
}
}
res = solve(k - 1);
res.push_back(-1);
fix(res);
}
return res;
}
vector<int> construct_permutation(ll k) {
mnVal = -1;
vector<int> res = solve(k);
fix(res);
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |