Submission #595774

#TimeUsernameProblemLanguageResultExecution timeMemory
595774andrei_boacaCarnival (CEOI14_carnival)C++14
0 / 100
12 ms296 KiB
#include <bits/stdc++.h> using namespace std; int n,c[155]; bool f[155]; int ask(int l,int r) { cout<<r-l+1<<' '; for(int i=l;i<=r;i++) cout<<i<<' '; cout<<endl; int rez; cin>>rez; return rez; } int main() { cin>>n; int nr=0; for(int i=1;i<=n;i++) { int ans=ask(1,i); if(ans>nr) { nr++; c[i]=nr; continue; } vector<int> poz; for(int j=1;j<=n;j++) f[j]=0; for(int j=i-1;j>=1;j--) if(f[c[j]]==0) { poz.push_back(j); f[c[j]]=1; } int st=0; int dr=poz.size(); dr--; int pmax=0; while(st<=dr) { int mij=(st+dr)/2; ans=ask(poz[mij],i); if(ans==mij+2) { pmax=mij+1; st=mij+1; } else dr=mij-1; } c[i]=poz[pmax]; } cout<<"0 "; for(int i=1;i<=n;i++) cout<<c[i]<<' '; cout<<endl; 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...