Submission #1210607

#TimeUsernameProblemLanguageResultExecution timeMemory
1210607noraCarnival (CEOI14_carnival)C++20
0 / 100
0 ms420 KiB
#include<bits/stdc++.h>
using namespace std;
const int N=151;
vector<int> a;
int cnt,ans[N],x[N][N];
int query(const vector<int>&p){
	cout<<p.size()<<endl;
	for(int i=0;i<p.size();i++){
		cout<<p[i]<<" ";
	}
	int tt;
	cin>>tt;
	return tt;
}
void solve(int n){
	int l=0,r=a.size();
	while(l<r){
		int mid=(l+r)/2;
		vector<int> c;
		for(int j=l;j<mid;j++){
			c.push_back(a[j]);
		}
		int ab;
		if(c.size()==1) ab=1;
		else ab=query(c);
			
		c.push_back(n);
		if(query(c)>ab){
			l=mid+1;
		}
		else{
			r=mid;
		}
	}
	if(l>a.size()){
		a.push_back(n);
		cnt++;
		ans[n]=cnt;
	}
	else{
		ans[n]=ans[a[l]];
	}
}
int main(){
	int n;
	cin>>n;
	a.push_back(1);
	ans[1]=1;
	for(int t=2;t<=n;t++) solve(t);
	cout<<0<<" ";
	
	for(int t=1;t<=n;t++){
		cout<<ans[t]<<" ";
	}
	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...