제출 #1188922

#제출 시각아이디문제언어결과실행 시간메모리
1188922dianaArt Collections (BOI22_art)C++20
35 / 100
95 ms428 KiB
#include "art.h" #include <bits/stdc++.h> #pragma GCC ooptimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") using namespace std; int n; vector<int> ans; bool comp(int a, int b) { vector<int> v1 = {a, b}, v2 = {b, a}; for(int i=1; i<=n; i++) { if(i == a || i == b) continue; v1.push_back(i); v2.push_back(i); } return publish(v1) < publish(v2); } void srt(int l, int r) { if(l == r) return; int m = (l+r)/2; srt(l, m); srt(m+1, r); int i = l, j = m+1; vector<int> jaun; while(i<=m && j<=r) { if(comp(ans[i], ans[j])) jaun.push_back(ans[i++]); else jaun.push_back(ans[j++]); } while(i<=m) jaun.push_back(ans[i++]); while(j<=r) jaun.push_back(ans[j++]); for(int k=0; k<r-l+1; k++) ans[l+k] = jaun[k]; } void solve(int N) { n = N; for(int i=1; i<=N; i++) ans.push_back(i); srt(0, N-1); answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...