# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
619529 | 2022-08-02T12:46:17 Z | Lobo | 순열 (APIO22_perm) | C++17 | 547 ms | 460 KB |
#include "perm.h" #include<iostream> #include<vector> #include<deque> #include<math.h> using namespace std; #define int long long vector<int32_t> construct_permutation(int k) { int k1 = k; int k2 = 1; vector<int> ks; for(int i = 2; i <= min((int) 5e5,k); i++) { while(k%i == 0) { ks.push_back(i); k/=i; } } ks.push_back(k); vector<int32_t> vc; for(auto k1 : ks) { deque<int> ans; // int lg = 0; // for(int i = 0; i <= 60; i++) { // if(k1 >= (1LL<<i)) lg = i; // } int lg = log2(k1); for(int i = lg-1; i >= 0; i--) { ans.push_back((int) ans.size()+vc.size()); if(k1&(1LL<<i)) ans.push_front((int) ans.size()+vc.size()); } // cout << " " << k1 << endl; for(auto x : ans) { // cout << " 1 " << x << endl; vc.push_back(x); } } return vc; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 4 ms | 212 KB | Output is correct |
4 | Correct | 38 ms | 308 KB | Output is correct |
5 | Partially correct | 170 ms | 300 KB | Partially correct |
6 | Correct | 245 ms | 300 KB | Output is correct |
7 | Correct | 336 ms | 460 KB | Output is correct |
8 | Partially correct | 444 ms | 324 KB | Partially correct |
9 | Partially correct | 418 ms | 332 KB | Partially correct |
10 | Partially correct | 433 ms | 312 KB | Partially correct |
11 | Partially correct | 547 ms | 304 KB | Partially correct |
12 | Correct | 2 ms | 340 KB | Output is correct |
13 | Partially correct | 273 ms | 300 KB | Partially correct |