# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
982364 | 2024-05-14T07:27:30 Z | nnin | Permutation (APIO22_perm) | C++17 | 2 ms | 360 KB |
#include "perm.h" #include<bits/stdc++.h> using namespace std; using ll = long long; vector<int> construct_permutation(long long k) { int g = __lg(k); vector<int> ans; int cur = 0; while(cur<g) { ans.push_back(cur++); } for(int i=g-1;i>=0;i--) { if(k & (1ll<<i)) { if(i>0 && (k&(1ll<<(i-1))) && ans.size()>=2 && ans[ans.size()-2]>ans[ans.size()-1]) { i--; for(int j=0;j<ans.size();j++) if(ans[j]>=i) ans[j]++; ans.insert(ans.end()-2, i); } else { for(int j=0;j<ans.size();j++) if(ans[j]>=i) ans[j]++; ans.push_back(i); } } } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 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 | Correct | 1 ms | 360 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 2 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 1 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |