#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
    int n;
    cin >> n;
    int k=1;
    vector<int> ans(n+1);
    vector<int> a;
    for(int i=1; i<=n; i++){
        cout << a.size()+1 << " ";
        for(int q : a){
            cout << q << " ";
        }
        cout << i;
        cout << endl;
        int in;
        cin >> in;
        if(in==a.size()+1){
            a.push_back(i);
            ans[i]=k++;
        }else if(in==a.size()){
            int l=0; 
            int r=a.size()-1;
            int h=0;
            while(l<=r){
                int m=(l+r)/2;
                cout << m+2 << endl;
                for(int j=0; j<=m; j++){
                    cout << a[j] << " ";
                }
                cout << i;
                cout << endl;
                int in2;
                cin >> in2;
                if(in2==m+2){
                    l=m+1;
                }else{
                    r=m-1;
                    h=m;
                }
            }
            ans[i]=ans[a[h]];
        }else{
            exit(1);
        }
    }
    cout << 0 << " ";
    for(int i=1; i<=n; i++){
        cout << ans[i] << " ";
    }
    cout << endl;
}
| # | 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... |