Submission #1068937

#TimeUsernameProblemLanguageResultExecution timeMemory
1068937kilikumaPermutation (APIO22_perm)C++17
0 / 100
1 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 = 0;
	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...