제출 #718361

#제출 시각아이디문제언어결과실행 시간메모리
718361lam순열 (APIO22_perm)C++17
10 / 100
1 ms340 KiB
#include "perm.h" #include <bits/stdc++.h> #define ll long long using namespace std; vector<int> construct_permutation(long long k) { vector <int> res; ll len = log2(k); vector <int> a; for (int i=1; i<=len; i++) a.push_back(i-1); k-=(1LL<<len); while (k>0) { ll it = 0; while ((1LL<<(it+1))<= k) { it++; } k-= (1LL<<it); a.push_back(it); } int n=a.size(); vector <int> d(n+1,0); for (int i=0; i<n; i++) d[a[i]] ++; for (int i=1; i<=n; i++) d[i]+=d[i-1]; res.resize(n); for (int i=0; i<n; i++) res[i] = --d[a[i]]; // for (int i:a) cerr<<i<<' '; cerr<<endl; // for (int i:res) cerr<<i<<' '; cerr<<endl; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...