Submission #1220203

#TimeUsernameProblemLanguageResultExecution timeMemory
1220203lukasuliashviliCarnival (CEOI14_carnival)C++20
100 / 100
2 ms416 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define rep(i,a,b) for(int i=a;i<=b;i++) const int N=2e6; int ans[N]; vector<int> vec; void que(int idx){ cout<<vec.size()+1<<" "; for(auto x:vec) cout<<x<<" "; cout<<idx<<endl; cout.flush(); } int binary(int idx){ int l=0,r=vec.size()-1,res=-1; while(l<=r){ int mid=(l+r)/2; cout<<mid-l+2<<" "; for(int i=l;i<=mid;i++) cout<<vec[i]<<" "; cout<<idx<<endl; cout.flush(); int raod; cin>>raod; if(raod==mid-l+2){ l=mid+1; }else{ res=mid; r=mid-1; } } return ans[vec[res]]; } signed main(){ int n; cin>>n; vec.pb(1); ans[1]=1; rep(i,2,n){ que(i); int raod; cin>>raod; if(raod==vec.size()+1){ vec.pb(i); ans[i]=vec.size(); }else{ ans[i]=binary(i); } } cout<<0<<" "; rep(i,1,n) cout<<ans[i]<<" "; cout<<endl; cout.flush(); 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...