Submission #644796

#TimeUsernameProblemLanguageResultExecution timeMemory
644796Tenis0206순열 (APIO22_perm)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> //#define home using namespace std; int fr[100005]; vector<int> construct_permutation(long long k) { int nr = 0; long long aux = k; while(aux!=1) { ++nr; aux /= 2; } vector<int> suf; for(int b=0;b<nr;b++) { if((k & (1LL<<b)) != 0) { suf.push_back(b + suf.size()); } } reverse(suf.begin(),suf.end()); for(auto it : suf) { ++fr[it]; } int cnt = 0; vector<int> rez; for(int i=1;i<=nr;i++) { while(fr[cnt]) { ++cnt; } rez.push_back(cnt); ++cnt; } for(auto it : suf) { rez.push_back(it); } return rez; } #ifdef home int q; int main() { cin>>q; for(int i=1;i<=q;i++) { long long k; cin>>k; vector<int> rez = construct_permutation(k); for(auto it : rez) { cout<<it<<' '; } cout<<'\n'; } return 0; } #endif // home
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...