Submission #977305

#TimeUsernameProblemLanguageResultExecution timeMemory
977305alex_2008Permutation (APIO22_perm)C++17
91.33 / 100
2 ms500 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <cmath>
#include <queue>
#include <set>
using namespace std;
typedef long long ll;
vector <int> construct_permutation(ll k) {
	vector <int> ans;
	int mx_num = 0;
	vector <int> path;
	while (k > 1) {
		if (k % 2 == 1) path.push_back(1), k--;
		else path.push_back(2), k /= 2;
	}
	reverse(path.begin(), path.end());
	for (auto it : path) {
		if (it == 1) ans.insert(ans.begin(), mx_num++);
		else ans.push_back(mx_num++);
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...