#include "art.h"
#include <bits/stdc++.h>
using namespace std;
void solve(int n) {
vector<int> ans(n, 0);
int p=0;
vector<int> ord(n);
iota(ord.begin(),ord.end(), 1);
p=publish(ord);
vector<bool> in(n+1, 0);
for(int i=0;i<n-1;i++){
for(int j=1;j<=n;j++){
ord[(i+j)%n]=j;
}
int c=publish(ord);
int delta=c-p;
ans[n-i-1]=(n-delta+1)/2;
//~ printf("p %d, c %d, del %d, ans %d\n", p,c,delta, ans[n-i-1]);
//~ fflush(stdout);
assert(in[ans[n-i-1]]==false);
in[ans[n-i-1]]=true;
p=c;
}
for(int i=1;i<=n;i++){
if(!in[i]){
ans[0]=i;
}
}
assert(ans[0]!=0);
vector<int> f(n);
for(int i=0;i<n;i++){
f[n-ans[i]]=i+1;
}
answer(f);
}
/*
5
5 3 2 1 4
*/
| # | 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... |