Submission #982982

# Submission time Handle Problem Language Result Execution time Memory
982982 2024-05-15T06:24:36 Z Jawad_Akbar_JJ Permutation (APIO22_perm) C++17
91.3333 / 100
4 ms 348 KB
#include <iostream>
#include <vector>

using namespace std;
const int N = 100 + 10;

vector<int> construct_permutation(long long k){
	vector<int> ans;
	long long o = 1;
	
	for (int i=60;i>=0;i--){
		if ((o<<i) & k){
			for (int j=1;j<=i;j++)
				ans.push_back(j * 1000);
			while (i > 0){
				i--;
				if ((o<<i) & k)
					ans.push_back(ans[i] - 500);
			}
			break;
		}
	}

	int n = ans.size(),cur = 0;
	vector<int> seen(n,0);

	while (cur < n){
		int ind = 0;
		for (int i=0;i<n;i++)
			if (!seen[i] and (seen[ind] or ans[i] < ans[ind]))
				ind = i;
		ans[ind] = cur++;
		seen[ind] = 1;
	}
	return ans;
}

// signed main(){
// 	long long k;
// 	cin>>k;

// 	vector<int> ans = construct_permutation(k);

// 	for (int i : ans)
// 		cout<<i<<' ';
// 	cout<<'\n';
// }
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Partially correct 2 ms 348 KB Partially correct
6 Correct 2 ms 348 KB Output is correct
7 Correct 2 ms 348 KB Output is correct
8 Partially correct 3 ms 348 KB Partially correct
9 Correct 2 ms 348 KB Output is correct
10 Partially correct 4 ms 348 KB Partially correct
11 Partially correct 3 ms 348 KB Partially correct
12 Partially correct 3 ms 348 KB Partially correct
13 Partially correct 3 ms 348 KB Partially correct