Cod sursa(job #2486497)

Utilizator popashtefan10Popa Stefan popashtefan10 Data 2 noiembrie 2019 22:58:12
Problema Pod Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <cstdio>

using namespace std;

int t, n;

int query(int st, int dr) {
  int x;

  printf("1 %d 1 ", dr - st + 1);
  for(int i = st; i <= dr; i++)
    printf("%d ", i);
  printf("\n");
  fflush(stdout);
  scanf("%d", &x);

  return x;
}

int main() {
  int st, dr, d1, d, mij;

  scanf("%d", &t);
  for(int i = 1; i <= t; i++) {
    scanf("%d", &n);
    st = 2;
    dr = n;
    d1 = query(st, dr);
    while(st < dr) {
      mij = (st + dr) / 2;
      d = query(st, mij);
      if(d == d1)
        dr = mij;
      else
        st = mij + 1;
    }
    printf("1 %d %d ", n - 1, st);
    for(int i = 1; i <= n; i++)
      if(i != st)
        printf("%d ", i);
    printf("\n");
    fflush(stdout);
    scanf("%d", &d);
    printf("-1 %d\n", d);
    fflush(stdout);
  }

  return 0;
}