Submission #584182

#TimeUsernameProblemLanguageResultExecution timeMemory
584182jairRS순열 (APIO22_perm)C++17
91.33 / 100
2 ms340 KiB
#include "perm.h"
using namespace std;

std::vector<int> construct_permutation(long long k)
{
	long long cur = 1;
	vector<int> res;

	for (int i = 0;; i++)
	{
		int exp = 0;
		long long power2 = 1;

		while (cur + power2 * 2LL <= k && (exp + 1) <= i)
		{
			power2 *= 2;
			exp++;
		}

		cur += power2;
		res.insert(res.begin() + exp, i);

		if (cur == k)
			break;
	}

	return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...