#include<bits/stdc++.h>
using namespace std;
int ask(vector<int> a)
{
sort(a.begin(), a.end());
cout<<a.size()<<" ";
for(int i : a) cout<<i<<" ";
cout<<endl;
int ans; cin>>ans;
return ans;
}
int check(vector<int> a)
{
return a.size() - ask(a);
}
int ans[205];
signed main()
{
int n; cin>>n;
vector<int> cur = {1};
ans[1] = 1;
for(int i = 2; i <= n; i++){
int l = 0, r = cur.size()-1, p = cur.size();
while(l <= r){
vector<int> question = {i};
int mid = (l+r)/2;
for(int i = 0; i <= mid; i++) question.push_back(cur[i]);
if(check(question) == 1){r = mid-1; p = mid;}
else l = mid+1;
}
if(p == cur.size()) cur.push_back(i);
ans[i] = p+1;
}
cout<<"0 ";
for(int i = 1; i <= n; i++) cout<<ans[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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |