# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
619528 | 2022-08-02T12:44:20 Z | Lobo | 순열 (APIO22_perm) | C++17 | 559 ms | 436 KB |
#include "perm.h" #include<iostream> #include<vector> #include<deque> 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; } 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 | 1 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Correct | 4 ms | 212 KB | Output is correct |
4 | Correct | 39 ms | 304 KB | Output is correct |
5 | Partially correct | 175 ms | 316 KB | Partially correct |
6 | Correct | 254 ms | 312 KB | Output is correct |
7 | Correct | 349 ms | 340 KB | Output is correct |
8 | Partially correct | 459 ms | 312 KB | Partially correct |
9 | Partially correct | 432 ms | 332 KB | Partially correct |
10 | Partially correct | 439 ms | 336 KB | Partially correct |
11 | Partially correct | 559 ms | 436 KB | Partially correct |
12 | Correct | 2 ms | 340 KB | Output is correct |
13 | Partially correct | 280 ms | 296 KB | Partially correct |