Submission #1222751

#TimeUsernameProblemLanguageResultExecution timeMemory
122275112345678Zagonetka (COI18_zagonetka)C++20
0 / 100
6 ms412 KiB
#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;
    }
    for (int i=1; i<=n; i++)
    {
        if (!mn[i]) mn[i]=++idx;
        if (i==b&&b<a) mn[a]=++idx, mn[i]=++idx; 
    }
    for (int i=1; i<=n; i++)
    {
        if (!mx[i]) mx[i]=idx--;
        if (i==a&&a<b) mx[b]=idx--, 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...