Submission #608883

#TimeUsernameProblemLanguageResultExecution timeMemory
608883sword060Carnival (CEOI14_carnival)C++17
0 / 100
8 ms324 KiB
#include <bits/stdc++.h>
using namespace std;
int ask(int l,int r){
  cout<<r-l+1<<" ";
  for(int i=l;i<=r;i++)cout<<i<<" ";
  cout<<endl;
  int p;cin>>p;
  return p;
}
int main(){
  ios::sync_with_stdio(0); cin.tie(0);
  int x;cin>>x;
  map<int,int>mp;
  vector<int>ans,lol;
  int lst=0;
  for(int i=1;i<=x;i++){
    int z=ask(1,i);
    if(z>lst){
      lst=z;
      ans.push_back(z);
    }else{
      int l=1,r=lst,mid,m=0;
      vector<int>aa;
      for(auto i:mp)aa.push_back(i.second);
      sort(aa.begin(),aa.end());
      while(l<=r){
        mid=(l+r)/2;
        int xd=ask(aa[mid-1],i);
        if(xd<lst)r=mid-1;
        else l=mid+1,m=mid;
      }
      ans.push_back(m);
    }
    mp[ans.back()]=i;
  }
  cout<<"0 ";
  for(auto i:ans)cout<<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...