#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
int same[n + 1], uni[n + 1];
memset(uni, 0, sizeof(uni));
for (int i = 1; i <= n; i++){
int lo = 0, hi = i - 1, mid;
while (lo < hi){
mid = (lo + hi + 1) / 2;
cout << (i-mid+1) << ' ';
for (int j = mid; j <= i; j++)
cout << j << ' ';
cout << endl;
int x, dist=0;
cin >> x;
for (int j = mid; j < i; j++)
dist += uni[j];
if (x <= dist)
lo = mid;
else
hi = mid - 1;
}
same[i] = lo;
if (lo)
uni[lo] = 0;
uni[i] = 1;
}
int ans[n + 1], cur = 1;
for (int i = 1; i <= n; i++)
if (same[i] == 0)
ans[i] = cur++;
else
ans[i] = ans[same[i]];
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... |