Submission #1361774

#TimeUsernameProblemLanguageResultExecution timeMemory
1361774ezzzayCarnival (CEOI14_carnival)C++20
100 / 100
2 ms412 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define int long long
const int N=300;
int ans[N];
int col[N];
signed main(){
	int n;
	cin>>n;
	vector<int>v={1};
	ans[1]=1;
	col[1]=1;
	int l=1;
	int c=2;
	for(int i=2;i<=n;i++){
		cout<<i<<" ";
		for(int j=1;j<=i;j++)cout<<j<<" ";
		cout<<endl;
		int x;
		cin>>x;
		if(x!=l){
			v.pb(i);
			ans[i]=i;
			col[i]=c++;
		}
			
		l=x;
	}
	
	// v dotor bga humuses 
	for(int i=1;i<=n;i++){
		if(ans[i])continue;
		int lo=0,hi=v.size()-1;
		while(hi>=lo){
			int mid=(hi+lo)/2; // index
			cout<<mid+2<<" ";
			for(int j=0;j<=mid;j++)cout<<v[j]<<" ";
			cout<<i<<endl;
			int x;
			cin>>x;
			if(x==mid+1){
				hi=mid-1;
			}
			else lo=mid+1;
		}
		ans[i]=ans[v[lo]];
		col[i]=col[ans[v[lo]]];
	}
	cout<<0<<" ";
	for(int i=1;i<=n;i++){
		cout<<col[i]<<" ";
	}
	cout<<endl;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...