제출 #739112

#제출 시각아이디문제언어결과실행 시간메모리
739112PixelCat순열 (APIO22_perm)C++17
71.22 / 100
11 ms1364 KiB
#include "perm.h"
#ifdef NYAOWO
#include "grader.cpp"
#endif

#include <bits/stdc++.h>
#define For(i, a, b) for(int i = a; i <= b; i++)
#define Forr(i, a, b) for(int i = a; i >= b; i--)
#define F first
#define S second
#define sz(x) ((int)x.size())
#define all(x) x.begin(), x.end()
#define eb emplace_back
#define int LL
using namespace std;
using LL = long long;
using pii = pair<int, int>;

std::vector<int32_t> construct_permutation(long long k) {
    k--;
    vector<int> v;
    int cur = 60;
    while(k) {
        if(k >= (1ll << cur) - 1) {
            v.eb(cur);
            k -= (1ll << cur) - 1;
        } else {
            cur--;
        }
    }
    vector<int32_t> res;
    while(sz(v)) {
        int x = v.back(); v.pop_back();
        int s = sz(res) + x;
        Forr(i, s - 1, s - x) res.eb(i);
    }
    reverse(all(res));
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...