#include <bits/stdc++.h>
using namespace std;
int n, x;
int arr[100005];
int ccol = 0;
int carr[100005];
int main() {
cin >> n;
carr[0] = 1;
for(int i=2;i<=n;i++) {
cout << i;
for(int j=1;j<=i;j++) cout << ' ' << j;
cout << endl;
cin >> x;
if(ccol+1 != x) {
arr[i] = ++ccol;
carr[ccol] = i;
} else {
//bsearch
int l=0, r=x-1, mid;
while(l <= r) {
mid = (l+r) >> 1;
cout << mid-l+2;
for(int i=l;i<=mid;i++) cout << ' ' << carr[i];
cout << ' ' << i;
cout << endl;
cin >> x;
if(x == mid-l+1) r = mid - 1;
else l = mid+1;
}
arr[i] = l;
}
}
cout << 0;
for(int i=1;i<=n;i++) cout << ' ' << arr[i]+1;
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... |