Submission #745129

#TimeUsernameProblemLanguageResultExecution timeMemory
745129Desh03Permutation (APIO22_perm)C++17
0 / 100
0 ms212 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> construct_permutation(long long k) {
    int lg = 0;
    while ((1LL << (lg + 1)) <= k) ++lg;
    vector<int> ans(lg, -1), ret;
    for (int i = lg - 1; i >= 0; --i)
        if (k >> i & 1)
            ans[i] = lg++;
    for (int i = 0; i < ans.size(); i++)
        if (ans[i] ^ -1) ret.push_back(ans[i]);
        else ret.push_back(i);
    return ret;
}

Compilation message (stderr)

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:11:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for (int i = 0; i < ans.size(); i++)
      |                     ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...