제출 #1107155

#제출 시각아이디문제언어결과실행 시간메모리
1107155vladilius순열 (APIO22_perm)C++17
93.33 / 100
2 ms504 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; #define pb push_back #define ff first #define ss second vector<int> construct_permutation(ll k){ vector<int> p; int cc = 0; if (k % 2){ p.pb(1e9); p.pb(cc++); k = (k - 1) / 2 - 1; } else { p.pb(cc++); k = k / 2 - 1; } while (k > 0){ if (k % 2){ p.pb(cc++); k = (k - 1) / 2; } else { if ((k + 1) % 3 == 0){ p.pb(cc + 1); p.pb(cc); cc += 2; k = (k + 1) / 3 - 1; continue; } p.pb(1e9); p.pb(cc++); k = k / 2 - 1; } } for (int i = (int) p.size() - 1; i >= 0; i--){ if (p[i] == 1e9){ p[i] = cc++; } } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...