Submission #594729

# Submission time Handle Problem Language Result Execution time Memory
594729 2022-07-12T22:04:17 Z Ozy Permutation (APIO22_perm) C++17
91.3333 / 100
2 ms 340 KB
#include "perm.h"
#include <bits/stdc++.h>
using namespace std;
#define lli long long int
#define debug(a) cout << #a << " = " << a << endl
#define debugsl(a) cout << #a << " = " << a << ", "
#define rep(i,a,b) for (int i = (a); i <= (b); i++)
#define repa(i,a,b) for (int i = (a); i >= (b); i--)
#define pb push_back
#define pf push_front

lli cont;
deque<lli> perm;

void arma(lli num) {
    lli mitad = num/2;

    if (mitad == 0) return;

    arma(mitad);
    perm.pb(cont++);
    if (num&1) perm.pf(cont++);
}

std::vector<int> construct_permutation(long long k)
{

    cont = 0;
    arma(k);

    lli act;
    vector<int> res;
    res.resize(cont);
    cont = 0;
    while (!perm.empty()) {
        act = perm.front();
        perm.pop_front();
        res[cont++] = act;
    }
    return res;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Partially correct 1 ms 340 KB Partially correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Partially correct 2 ms 340 KB Partially correct
9 Correct 1 ms 340 KB Output is correct
10 Partially correct 2 ms 340 KB Partially correct
11 Partially correct 1 ms 340 KB Partially correct
12 Partially correct 1 ms 340 KB Partially correct
13 Partially correct 2 ms 340 KB Partially correct