Submission #796680

# Submission time Handle Problem Language Result Execution time Memory
796680 2023-07-28T15:38:11 Z Trisanu_Das Permutation (APIO22_perm) C++17
100 / 100
2 ms 340 KB
#include <bits/stdc++.h>
using namespace std;
 
vector<int> construct_permutation(long long k){
  vector<int> ans;
  long long pow_2 = 1, exp_2 = 0, flag = 0, curr = 0;
  while(pow_2 * 2 <= k) pow_2 *= 2, exp_2++;
  for(int i = exp_2 - 1; i > -1; i--){
    ans.push_back(curr++);
	if((k >> i) & 1){
		if(i and (k >> (i-1) & 1) and flag > 1) ans.push_back(curr++), ans.insert(ans.begin() + 2, curr++), i--;
		else ans.insert(ans.begin(), curr++), flag++;
	}
  }
  return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 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 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 304 KB Output is correct
13 Correct 2 ms 296 KB Output is correct