Submission #740930

#TimeUsernameProblemLanguageResultExecution timeMemory
740930enerelt14Permutation (APIO22_perm)C++17
100 / 100
2 ms340 KiB
#include "perm.h" #include<bits/stdc++.h> #define ll long long #define pb push_back using namespace std; vector<int> x; int n; vector<int> construct_permutation(ll k){ if (k == 1)return {}; if (k == 2)return {0}; if (k == 3)return {1, 0}; if (k % 4 == 0){ x = construct_permutation(k / 4); n = x.size(); x.pb(n); x.pb(n + 1); return x; } if (k % 4 == 1){ x = construct_permutation(k / 4); n = x.size(); for (int i = 0; i < n; i++)x[i]++; x.pb(n + 1); x.pb(n + 2); x.pb(0); return x; } if (k % 4 == 2){ x = construct_permutation(k / 4); n = x.size(); for (int i = 0; i < n; i++)x[i]++; x.pb(n + 1); x.pb(0); x.pb(n + 2); return x; } x = construct_permutation(k / 4); n = x.size(); // int z = -1, o = -1; // for (int i = 0; i < n; i++){ // if (x[i] == 0)z = i; // if (x[i] == 1)o = i; // } if (k / 4 % 4 != 0 && k > 11){ for (int i = 0; i < n; i++)if (x[i] > 1)x[i]++; x.pb(n + 1); x.pb(n + 2); x.pb(2); return x; } for (int i = 0; i < n; i++)x[i] += 2; x.pb(n + 2); x.pb(1); x.pb(n + 3); x.pb(0); return x; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...