#include <bits/stdc++.h>
#include "art.h"
using namespace std;
void solve(int N){
vector<int>ans;
int pos[5000];
for(int i=1;i<=N;i++){
ans.push_back(i);
pos[i]=i-1;
}
int was[5000];
for(int i=1;i<N;i++){
for(int j=1;j<=N;j++){
if(was[j]==1){
continue;
}
pos[ans[i-1]]=pos[j];
swap(ans[pos[j]],ans[i-1]);
pos[j]=i-1;
int x=publish(ans);
vector<int>v1;
for(int l=0;l<i-1;l++){
v1.push_back(ans[l]);
}
for(int l=i;l<ans.size();l++){
v1.push_back(ans[l]);
}
v1.push_back(j);
int y=publish(v1);
if(y-x==N-i){
was[j]=1;
ans.clear();
int t=0;
for(int l=0;l<i-1;l++){
ans.push_back(v1[l]);
pos[v1[l]]=l;
t++;
}
ans.push_back(v1[v1.size()-1]);
pos[v1[v1.size()-1]]=i-1;
t++;
for(int l=i-1;l<v1.size()-1;l++){
ans.push_back(v1[l]);
pos[v1[l]]=t;
t++;
}
v1.clear();
break;
}
v1.clear();
}
}
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... |