Submission #383244

#TimeUsernameProblemLanguageResultExecution timeMemory
383244mariowongCarnival (CEOI14_carnival)C++14
100 / 100
12 ms492 KiB
#include <bits/stdc++.h>
 
using namespace std;

int n,ans[155],x,ct,l,r,mid;
vector <int> pos;
int main(){
	ios::sync_with_stdio(false);
	cin >> n;
	for (int i=1;i<=n;i++){
		ans[i]=-1;
	}
	ans[1]=1; ct=1;pos.push_back(1);
	for (int i=2;i<=n;i++){
		cout << i << " "; 
		for (int j=1;j<=i;j++){
			cout << j << " ";
		}
		cout << "\n";
		fflush(stdout);
		cin >> x;
		if (x != ct){
			ct++;
			ans[i]=ct;
			pos.push_back(i);
		}
	}
	for (int i=1;i<=n;i++){
		if (ans[i] == -1){
			l=0; r=(int)pos.size()-1;
			while (l < r){
				mid=(l+r)/2;
				cout << mid+2 << " ";
				for (int j=0;j<=mid;j++){
					cout << pos[j] << " ";
				}
				cout << i << "\n";
				fflush(stdout);
				cin >> x;
				if (x != mid+1)
				l=mid+1;
				else
				r=mid;
			}
			ans[i]=ans[pos[l]];
		}
	}
	cout << "0 ";
	for (int i=1;i<=n;i++){
		cout << ans[i] << " ";
	}
	cout << "\n";
	return 0;
}
#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...