Submission #838544

# Submission time Handle Problem Language Result Execution time Memory
838544 2023-08-27T11:20:31 Z finn__ Permutation (APIO22_perm) C++17
100 / 100
2 ms 340 KB
#include <bits/stdc++.h>
#include "perm.h"
using namespace std;

vector<int> construct_permutation(long long k)
{
    if (k == 1)
        return {};
    if (k == 2)
        return {0};

    for (int q : {2, 3, 5, 7, 11, 13, 17, 19, 23})
        if (!(k % q) && k > q)
        {
            auto p = construct_permutation(k / q);
            auto s = construct_permutation(q);
            for (int &x : s)
                x += p.size();
            p.insert(p.end(), s.begin(), s.end());
            return p;
        }

    auto p = construct_permutation(k >> 1);
    p.push_back(p.size());
    p.insert(p.begin(), p.size());
    return p;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 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 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 2 ms 340 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 2 ms 340 KB Output is correct
11 Correct 2 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct