Submission #99368

#TimeUsernameProblemLanguageResultExecution timeMemory
99368nad312Carnival (CEOI14_carnival)C++17
0 / 100
9 ms412 KiB
#include<bits/stdc++.h> using namespace std; typedef long long int lli; const lli N=200; lli n, a[N], col[N], st[N], cnt=0; deque<lli> query, p; lli Ask() { cout<<query.size(); for(auto v: query) { cout<<" "<<v; } cout<<endl; fflush(stdout); lli k; cin>>k; return k; } void Find(lli x) { lli l=0, h=p.size()-1; while(l<h) { lli mid=(l+h)/2; query.clear(); query.push_back(x); for(int i=l;i<=mid;i++) { query.push_back(p[i]); } if(Ask()>a[p[mid]]) { l=mid+1; } else { h=mid; } } col[x]=col[p[l]]; } int main() { fill_n(&col[0], sizeof(col)/sizeof(col[0]), -1); cin>>n; a[0]=0; for(int i=1;i<=n;i++) { query.push_back(i); a[i]=Ask(); if(a[i]>a[i-1]) { cnt++; col[i]=cnt; } } for(int i=1;i<=n;i++) { if(col[i]==-1) { Find(i); } else { p.push_back(i); } } cout<<0; for(int i=1;i<=n;i++) { cout<<" "<<col[i]; } cout<<endl; fflush(stdout); }
#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...