Submission #1230949

#TimeUsernameProblemLanguageResultExecution timeMemory
1230949warrennCarnival (CEOI14_carnival)C++20
100 / 100
5 ms412 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int col[152]; int n; int query(int l,int r){ cout<<r-l+1<<" "; for(int q=l;q<=r;q++){ cout<<q<<" "; } cout<<endl; int hah; cin>>hah; return hah; } int solve(int l,int r){ bool udh[n+1]; int cnt=0; memset(udh,false,sizeof udh); for(int q=l;q<=r;q++){ if(udh[col[q]])continue; cnt++; udh[col[q]]=true; } return cnt; } signed main(){ cin>>n; col[1]=1; int cnt=2; for(int q=2;q<=n;q++){ int l=1; int r=q-1; int pos=-1; while(l<=r){ int mid=(l+r)/2; int hah=query(mid,q); if(hah==solve(mid,q-1)){ pos=mid; l=mid+1; } else{ r=mid-1; } } if(pos==-1){ col[q]=cnt; cnt++; } else{ col[q]=col[pos]; } } cout<<0; for(int q=1;q<=n;q++){ cout<<" "<<col[q]; } 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...