#include<bits/stdc++.h>
using namespace std;
int count_different(const vector<int> &v){
cout << v.size() << " ";
for(auto x : v){
cout << x << " ";
} cout << endl;
int r; cin >> r; return r;
}
void submit_colours(const vector<int> &v){
cout << "0 ";
for(auto x : v){
cout << x << " ";
} cout << endl;
}
void play(int n){
vector<int> clrs(n);
clrs[0] = 1;
vector<int> vec = {0};
for(int i = 1; i < n; i ++){
int low = 0, high = vec.size() - 1, ans = vec.size() + 1;
while(low <= high){
int mid = (low + high) / 2;
vector<int> ask;
for(int i = 0; i <= mid; i ++){
ask.push_back(vec[i]);
}
ask.push_back(i);
if(count_different(ask) == ask.size()){
low = mid + 1;
}
else{
ans = clrs[vec[mid]];
high = mid - 1;
}
}
clrs[i] = ans;
if(ans == vec.size() + 1){
vec.push_back(i);
}
}
submit_colours(clrs);
}
int main(){
int n; cin >> n; play(n);
}
# | 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... |