#include "art.h"
#include <bits/stdc++.h>
using namespace std;
vector<int>a;
void mv(vector<int>&a,int i,int j){
rotate(a.begin()+min(i,j),a.begin()+i+(i<j),a.begin()+max(i,j)+1);
}
void ms(int l=0,int r=a.size()-1){
if(l==r){
return;
}
if(r-l==1){
int c1=publish(a);
swap(a[l],a[r]);
int c2=publish(a);
if(c1<c2){
swap(a[l],a[r]);
}
return;
}
int mid=(l+r)/2;
ms(l,mid);
ms(mid+1,r);
int c=publish(a);
for(int i=mid+1;i<=r;i++){
for(int j=i;j>l;j--){
swap(a[j],a[j-1]);
int _c=publish(a);
if(_c>c){
swap(a[j],a[j-1]);
l=j;
break;
}
c=_c;
}
}
}
void solve(int N) {
a=vector<int>(N);
iota(a.begin(),a.end(),1);
ms(0,N-1);
answer(a);
}
# | 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... |