Submission #1280260

#TimeUsernameProblemLanguageResultExecution timeMemory
1280260cmiucCarnival (CEOI14_carnival)C++20
0 / 100
8 ms452 KiB
#include <iostream>
#include <vector>

using namespace std;
int col[500];

int ask(vector<int> vec, int ex = 0){
	if (!!ex)
		vec.push_back(ex);

	cout<<vec.size()<<' ';
	for (int i : vec)
		cout<<i<<' ';
	cout<<endl;

	cin>>ex;
	return ex;
}

int main(){
	int n;
	cin>>n;


	for (int i=1, c = 1;i<=n;i++){
		if (col[i] == 0)
			col[i] = c++;

		vector<int> vec, lft, rgt;
		for (int j=i+1;j<=n;j++)
			vec.push_back(j);

		if (ask(vec) != ask(vec, i))
			continue;

		while (vec.size() > 1){
			lft.clear();
			rgt.clear();
			for (int j=0;j<vec.size();j++){
				if (vec.size() - j <= lft.size())
					rgt.push_back(vec[j]);
				else
					lft.push_back(vec[j]);
			}
			if (ask(lft) == ask(lft, i))
				vec = lft;
			else
				vec = rgt;
		}
		col[vec[0]] = col[i];
	}

	for (int i=0;i<=n;i++)
		cout<<col[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...