#include <bits/stdc++.h>
using namespace std;
const int nx=105;
int n, p[nx], c[nx], f, x, cnt, a, b, mn[nx], mx[nx], idx;
int main() {
cin >> n;
for (int i=1; i<=n; i++) cin>>p[i];
for (int i=1; i<=n; i++)
{
for (int j=p[i]+1; j<=n; j++)
{
for (int k=1; k<=n; k++)
{
c[k]=p[k];
if (p[i]<c[k]&&c[k]<=j) c[k]--;
}
c[i]=j;
cout<<"query ";
for (int i=1; i<=n; i++) cout<<c[i]<<' ';
cout<<endl;
cin>>x;
if (!x)
{
f=1;
for (int k=1; k<=n;k ++) if (p[k]==j) a=i, b=k;
break;
}
}
if (f) break;
}
//cout<<"a "<<a<<' '<<b<<'\n';
cout<<"end"<<endl;
for (int i=1; i<=n; i++)
{
if (i==b&&b<a) mn[a]=++idx, mn[i]=++idx;
else if (!mn[i]) mn[i]=++idx;
}
for (int i=1; i<=n; i++)
{
if (i==a&&a<b) mx[b]=idx--, mx[i]=idx--;
else if (!mx[i]) mx[i]=idx--;
}
for (int i=1; i<=n; i++) cout<<mn[i]<<' ';
cout<<'\n';
for (int i=1; i<=n; i++) cout<<mx[i]<<' ';
}
# | 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... |