제출 #1118742

#제출 시각아이디문제언어결과실행 시간메모리
1118742Username_taken12순열 (APIO22_perm)C++17
0 / 100
1 ms352 KiB

#include <bits/stdc++.h>
#include "perm.h"
using namespace std;

vector<int> construct_permutation(long long k) {
	//int cnt = std::popcount((unsigned long long) k); 
	int cnt=0;
	int size =0;
	long long t=k;
	while(t>0){
		size++;
		t/=2;
		if(t%2==1)
			cnt++;
	}
	int len = size+cnt-1;
	int h=len-1;
	int a =0;
	vector<int> out;
	while(k>1){
		if(k%2==1)
			out.push_back(h--);
		out.push_back(a++);
		k/=2;
	}
	return out;
}

/*int main() {
	long long k; cin>>k;
	vector<int> ans = construct_permutation(k);
	for(int i=0; i<ans.size(); i++)
		cout<<ans[i]<<" ";
	cout<<endl;
}*/

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...