#include <bits/stdc++.h>
using namespace std;
int n, ans[200], reff[200], c1, arr[200] = {1, 2, 1, 3, 3, 4, 2, 3, 5, 1, 3};
int ask(vector<int> v) {
int c;
cout << v.size() << " ";
for(auto i: v) {
cout << i << " ";
}
cout << endl;
cin >> c;
return c;
}
int main() {
vector<int> v;
cin >> n;
for(int i=1; i<=n; i++) {
v.clear();
for(int j=1; j<=i; j++) v.push_back(j);
int t = ask(v);
if(t > c1) {
c1++;
ans[i] = t;
reff[t] = i;
} else {
int l=1, r=c1;
while(l < r) {
int mid = (l+r)/2;
v.clear();
for(int j=1; j<=mid; j++) v.push_back(reff[j]);
v.push_back(i);
t = ask(v);
if(t == mid+1) {
l = mid+1;
} else {
r = mid;
}
}
ans[i] = l;
}
}
cout << 0;
for(int i=1; i<=n; i++) {
cout << " " << ans[i];
}
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... |