Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2021-05-12 17:49:25.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:cbinteractiv.in, cbinteractiv.outSursăad-hoc
AutorArhiva EducationalaAdăugată deAlexandruLuchianov1Alex Luchianov AlexandruLuchianov1
Timp execuţie pe test0.2 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Cbinteractiv

Se da un numar N si interactorul are un numar ascuns, K de la 1 la N pe care voi trebuie sa il gasiti.
Puteti intreba de un numar X iar interactorul va va spune daca acesta este mai mare sau egal decat K.

Interactiune

Initial se citeste din stdin numarul N.
Programul vostru are voie sa puna query-uri scriind in standard output:

  • " ?\;X " reprezentand intrebarea.

Dupa fiecare astfel de query interactorul va raspunde in stdin cu un numar din multimea  \{-1, 0, 1\} :

  • "0" daca K > X
  • "1" daca KX
  • "-1" daca query-ul este invalid

Dupa ce ati aflat numarul K afisati " !\;K " si terminati programul.
Dupa fiecare query, inclusiv cel final trebuie sa afisati '\n' si sa dati flush la standard output. Pentru a da flush va puteti folosi de urmatorul tabel.

C++PascalPythonJava
fflush(stdout) sau cout.flush()
flush(output)
stdout.flush()
System.out.flush()

Restricţii

  • 1 ≤ N ≤ 10^9
  • Pentru 30% din teste N <= 1000

Punctare

Daca numarul gasit de voi este diferit de K, punctajul pe acel test va fi 0.
Altfel, punctajul vostru va fi decis in functie de Q numarul de queryuri facute de programul vostru:

  • Q ≤ 32, 100% din punctajul pe acel test.
  • Q ≤ N, 30% din punctajul pe acel test.
  • Q > N, 0% din punctajul pe acel test.

Exemplu

stdinstdoutExplicatie
​10
​ ​
Se citeste N
​​
​? 5
Query cu X = 5
​1
​ ​
Se raspunde ca K <= X
​​
? ​4
Query cu X = 4
​0
​ ​
Se raspunde ca K > X
​​
! 5
Programul a descoperit valoarea lui K si raspunde.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?