Submission #1247758

#TimeUsernameProblemLanguageResultExecution timeMemory
1247758ezdpCarnival (CEOI14_carnival)C++20
0 / 100
0 ms416 KiB
#include<bits/stdc++.h>
using namespace std;


int main(){
	int n; cin >> n;
	vector<int> clr(n + 1);
	clr[1] = 1;
	vector<int> v = {1};
	for(int i = 2; i <= n; i ++){
		int low = 1, high = v.size(), ans = -1;
		while(low <= high){
			int mid = (low + high) / 2;
			cout << mid << " ";
			for(int j = 0; j < mid; j ++){
				cout << v[j] << " ";
			} cout << i << endl;
			int a; cin >> a;
			if(a == mid + 1){
				low = mid + 1;
			}
			else{
				ans = v[mid - 1];
				high = mid - 1;
			}
		}
		if(ans == -1){
			v.push_back(i);
			clr[i] = v.size();
		}
		else{
			clr[i] = ans;
		}
	}
	cout << "0 ";
	for(int i = 1; i <= n; i ++){
		cout << clr[i] << " ";
	} cout << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...