Submission #931076

# Submission time Handle Problem Language Result Execution time Memory
931076 2024-02-21T07:55:38 Z sleepntsheep Permutation (APIO22_perm) C++17
91.3333 / 100
2 ms 348 KB
#include "perm.h"
#include <stdio.h>
#include <algorithm>

std::vector<int> construct_permutation(long long k)
{
    std::vector<int> v;
    int msb = 63 - __builtin_clzll(k);

    for (int i = 1; i <= msb; ++i) v.push_back(i*2);
    k &= ~(1ll << msb);
    for (int i = msb - 1; i >= 0; --i)
    {
        if (k & (1ll << i))
        {
            v.push_back(i*2+1);
        }
    }

    auto w = v;
    std::sort(w.begin(), w.end());
    for (int &x : v) x = std::lower_bound(w.begin(), w.end(), x) - w.begin();
    //for (int x : v) printf("%d  ", x);

	return v;
}

# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Partially correct 1 ms 348 KB Partially correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Partially correct 2 ms 348 KB Partially correct
9 Correct 1 ms 348 KB Output is correct
10 Partially correct 1 ms 348 KB Partially correct
11 Partially correct 1 ms 348 KB Partially correct
12 Partially correct 2 ms 348 KB Partially correct
13 Partially correct 1 ms 348 KB Partially correct