//####################
//Carnival
//####################
#include<bits/stdc++.h>
using namespace std;
int query(vector<int> party){
cout<<party.size()<<" ";
for(int v:party)cout<<v<<' ';
cout<<endl;
int re;cin>>re;
return re;
}
signed main(){
int n;cin>>n;
vector<int > chef;
for(int i = 0;i<n;i++){
vector<int> cop(chef);
cop.push_back(i+1);
if(query(cop)==cop.size())
chef.push_back(i);
}
vector<int> rep(n,-1);
for(int v:chef)rep[v]=v;
for(int e = 0 ; e < n ; e++){
if(rep[e] != e){
int border=-1;
for(int b=8;b>=0;b--){
if(border+(1<<b)<chef.size()){
vector<int> act;
for(int i=0;i<=border+(1<<b);i++)act.push_back(chef[i]+1);
act.push_back(e+1);
if(query(act)==act.size())border+=(1<<b);
}
}
rep[e] = chef[border+1];
}
}
for(int i = 0 ; i < n ; i++)
cout<<rep[i]+1<<' ';
cout<<endl;
return 0;
};
# | 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... |