Submission #584200

#TimeUsernameProblemLanguageResultExecution timeMemory
584200jairRS순열 (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, power2 = 1;
	vector<int> res;
	int exp = 0;

	while (cur + power2 <= k)
	{
		cur += power2;
		res.push_back(res.size());
		power2 *= 2;
		exp++;
	}

	while (cur < k)
	{
		while (cur + power2 > k)
		{
			power2 /= 2;
			exp--;
		}
		cur += power2;
		res.insert(res.begin() + exp, res.size());
	}

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