Submission #374216

#TimeUsernameProblemLanguageResultExecution timeMemory
374216MilosMilutinovicCarnival (CEOI14_carnival)C++14
100 / 100
11 ms492 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back const int N=200; int ans[N]; vector<int> dif; void Add(int i){ cout<<(int)dif.size()+1<<" "; for(int j:dif)cout<<j<<" "; cout<<i<<endl; int sz;cin>>sz; if(sz>(int)dif.size())ans[i]=sz,dif.pb(i); } bool Can(int pos,int j){ cout<<pos+2<<" "; for(int i=0;i<=pos;i++)cout<<dif[i]<<" "; cout<<j<<endl; int sz;cin>>sz; return sz<pos+2; } int main(){ int n;cin>>n; for(int i=1;i<=n;i++)Add(i); for(int i=1;i<=n;i++){ if(ans[i])continue; int bot=0,top=(int)dif.size()-1,pos=0; while(bot<=top){ int mid=bot+top>>1; if(Can(mid,i))pos=mid,top=mid-1; else bot=mid+1; } ans[i]=ans[dif[pos]]; } cout<<0<<" "; for(int i=1;i<=n;i++)cout<<ans[i]<<" "; cout<<endl; return 0; }

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:28:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   28 |             int mid=bot+top>>1;
      |                     ~~~^~~~
#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...