Submission #1362703

#TimeUsernameProblemLanguageResultExecution timeMemory
1362703cansu_mutluCarnival (CEOI14_carnival)C++20
100 / 100
2 ms436 KiB
#include<bits/stdc++.h>
#define int long long 
using namespace std;
vector<int> sor ={1};
int ask(int l,int r,int val)
{
  cout << r-l+1+(val!=0)<< " ";
  if(val) cout << val << " ";
  for(int i=l;i<=r;i++) cout << sor[i]<< " ";
  cout << endl;
  int num;
  cin >> num;
  return num;
}
int32_t main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int n;
  cin >> n;

  int cur = 2;
  vector<int> c(n+1,1);
  for(int i=2;i<=n;i++)
  {
    int num = ask(0,sor.size()-1,i);
    if(num>sor.size())
    {
      c[i] = cur;
      cur++;
      sor.push_back(i);
      continue;
    }
    int l = 0,r = sor.size()-1;
    while(l<=r)
    {
      int mid =l+r;
      mid/=2;
      if(ask(l,mid,i)==mid-l+1)
      {
        r = mid-1;
      }
      else l = mid+1;
    }
    c[i] = c[sor[l]];
  }
  cout << 0 << " ";
  for(int i=1;i<=n;i++) cout << c[i] << " ";
  cout << endl;

}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...