제출 #1291596

#제출 시각아이디문제언어결과실행 시간메모리
1291596dosts순열 (APIO22_perm)C++20
93.33 / 100
2 ms580 KiB
#include "perm.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") #define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9; void doit(deque<signed>& dq,int k,int& cur) { if (!k) return; if (k == 1) { dq.push_front(cur++); return; } if (k%3 == 2) { doit(dq,(k-2)/3,cur); dq.push_back(cur+1); dq.push_back(cur); cur+=2; } else if (k%2==0) { doit(dq,k-1,cur); dq.push_front(cur++); } else { doit(dq,(k-1)/2,cur); dq.push_back(cur++); } } std::vector<signed> construct_permutation(int k) { k--; deque<signed> dq; int cur = 0; doit(dq,k,cur); return vector<signed>(all(dq)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...