Submission #1068935

#TimeUsernameProblemLanguageResultExecution timeMemory
1068935kilikuma순열 (APIO22_perm)C++17
0 / 100
0 ms348 KiB
#include "perm.h"
#include <bits/stdc++.h>
 
using namespace std;
 
int cur;
 
vector<int> ans;
 
void construct(int k) {
	if (k == 1) {
		return;
	}
	if (k % 2 == 1) {
		construct(k - 1);
		ans.insert(ans.begin(), -1);
	}
	else {
		construct(k / 2);
		ans.push_back(cur);
		cur ++;
	}
	return;
}
 
vector<int> construct_permutation(long long k)
{
 
	cur = 1;
	ans.clear();
 
	construct(k);
 
	for (int i = ans.size() - 1; i >= 0; i --) {
		if (ans[i] == (-1)) {
			ans[i] = cur;
			cur ++;
		}
	}
 
	return ans;
 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...