Submission #621469

# Submission time Handle Problem Language Result Execution time Memory
621469 2022-08-03T20:48:44 Z gromperen Permutation (APIO22_perm) C++17
91.3333 / 100
2 ms 340 KB
#include "perm.h"
#include <bits/stdc++.h>

#define ll long long

using namespace std;

vector<int> construct_permutation(ll k) {
	vector<int> ans;
	int x = __lg(k);
	for (int i = 0; i < x; ++i) ans.push_back(i);
	for (int i = x - 1; i >= 0; --i) {
		if ((k>>i)&1) {
			ans.insert(ans.begin()+i, x);
			x++;
		}
	}
	return ans;
}

/* 
vector<int> construct_permutation(ll k)
{
	k--;
	vector<int> ans;
	int mx = 0;
	while (k > 0) {
		int i = 60;
		while ((1LL << i) - 1 > k) {
			i--;
		}
		for (int j = mx+i-1; j >= mx; --j) {
			ans.push_back(j);
		}
		mx = mx+i;
		k-= (1LL << i) - 1;
	}
	reverse(ans.begin(), ans.end());
	cout << endl;
	return ans;
}

*/
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Partially correct 2 ms 340 KB Partially correct
6 Correct 2 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Partially correct 2 ms 340 KB Partially correct
9 Correct 1 ms 340 KB Output is correct
10 Partially correct 2 ms 340 KB Partially correct
11 Partially correct 2 ms 340 KB Partially correct
12 Partially correct 2 ms 340 KB Partially correct
13 Partially correct 2 ms 340 KB Partially correct