#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |