Submission #1229602

#TimeUsernameProblemLanguageResultExecution timeMemory
1229602yixuan19Carnival (CEOI14_carnival)C++20
0 / 100
0 ms408 KiB
#include <bits/stdc++.h> using namespace std; int search(int l, int r, int i, int memo){ int res; while (l < r){ int m = (l+r+1)/2; cout<<r-l+2<<' '; for (int j = l; j <= r; ++j){ cout<<j<<' '; } cout<<i<<' '; cout<<endl; cin >> res; if (res == r-l+2){ //cout<<"look on left "<<endl; r = m; }else{ //cout<<"look on right "<<m<<' '<<endl; l = m; } } return l; } int main(){ int N; cin >> N; vector<int> sol(N+1); cout<<2<<' '<<1<<' '<<2<<endl; int res; cin >> res; if (res == 2){ sol[1] = 1; sol[2] = 2; }else{ sol[1] = 1; sol[2] = 1; } vector<int> people; int num = 2; people.push_back(1); people.push_back(2); int memo = res; for (int i = 3; i <= N; ++i){ people.push_back(i); num++; cout<<num<<' '; for (int in: people){ cout<<in<<' '; } cout<<endl; cin >> res; if (res > memo){ sol[i] = res; memo = res; }else{ int l = 1; int r = i-1; int m = (l+r+1)/2; cout<<r-l+2<<' '; for (int j = m; j <= r; ++j){ cout<<j<<' '; } cout<<i<<' '; cout<<endl; cin >> res; int s; if (res == memo){ s = search(l,m-1,i,memo); }else{ s= search(m+1,r,i,memo); } //cout<<" s "<<s<<endl; sol[i] = sol[s]; } } cout<<0<<' '; for (int i = 1; i <= N; ++i){ cout<<sol[i]<<' '; } 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...