# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
979062 | 2024-05-10T07:23:15 Z | sunnat | 순열 (APIO22_perm) | C++17 | 745 ms | 672 KB |
#include <iostream> #include <vector> using namespace std; vector<int> construct_permutation(long long k){ --k; int val = 0; vector<int> a; vector<long long> lstdp; long long sum = 0; auto calc = [&](){ sum = 0; lstdp.resize(a.size()); for(int i = 0; i < lstdp.size(); ++ i){ lstdp[i] = 1; for(int j = 0; j < i; ++ j) if(a[i] > a[j]) lstdp[i] += lstdp[j]; sum += lstdp[i]; } return sum; }; while(sum != k){ a.push_back(a.size()); int i = a.size() - 1; while(calc() > k){ swap(a[i], a[i-1]); --i; } } return a; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 4 ms | 344 KB | Output is correct |
4 | Correct | 22 ms | 444 KB | Output is correct |
5 | Partially correct | 305 ms | 416 KB | Partially correct |
6 | Correct | 92 ms | 600 KB | Output is correct |
7 | Correct | 208 ms | 440 KB | Output is correct |
8 | Partially correct | 437 ms | 468 KB | Partially correct |
9 | Correct | 40 ms | 460 KB | Output is correct |
10 | Partially correct | 745 ms | 672 KB | Partially correct |
11 | Partially correct | 418 ms | 428 KB | Partially correct |
12 | Partially correct | 331 ms | 464 KB | Partially correct |
13 | Partially correct | 612 ms | 468 KB | Partially correct |