제출 #618072

#제출 시각아이디문제언어결과실행 시간메모리
618072Lobo순열 (APIO22_perm)C++17
10 / 100
19 ms304 KiB
#include "perm.h" #include<bits/stdc++.h> using namespace std; #define int long long vector<int32_t> construct_permutation(int k) { int k1 = k; int k2 = 1; for(int i = min(k,(int) 1e5); i >= 1; i--) { if(k%i == 0) { k1 = i; k2 = k/i; break; } } vector<int32_t> vc; deque<int> ans; int lg = 0; for(int i = 0; i <= 60; i++) { if(k1 >= (1LL<<i)) lg = i; } for(int i = lg-1; i >= 0; i--) { ans.push_back((int) ans.size()); if(k&(1LL<<i)) ans.push_front((int) ans.size()); } for(auto x : ans) { vc.push_back(x); } deque<int> ans2; int lg2 = 0; for(int i = 0; i <= 60; i++) { if(k2 >= (1LL<<i)) lg2 = i; } for(int i = lg2-1; i >= 0; i--) { ans2.push_back((int) ans2.size()); if(k2&(1LL<<i)) ans2.push_front((int) ans2.size()); } for(auto x : ans2) { vc.push_back(x); } return vc; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...