Submission #1212286

#TimeUsernameProblemLanguageResultExecution timeMemory
1212286jasonicPermutation (APIO22_perm)C++20
91.33 / 100
1 ms328 KiB
#include "perm.h"
#include <bits/stdc++.h>

using namespace std;
#define ll long long

int mn, mx;

vector<int> solve(ll k) {
    vector<int> res;
    if(k == 2) {
        res.push_back(0);
    } else if(k%2) {
        res = solve(k-1);
        res.push_back(mn);
        mn--;
    } else {
        res = solve(k/2);
        res.push_back(mx);
        mx++;
    }
    return res;
}

vector<int> construct_permutation(ll k) {
    mn = -1, mx = 1;

    vector<int> res = solve(k);
    int mn = 0;
    for(auto &i : res) mn = min(mn, i);
    for(auto &i : res) i -= mn;

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