Adivina el número P67099


Statement
 

pdf   zip

html

Alfredo y Beatriz están jugando al conocidísimo juego “Adivina el número”. Alfredo ha pensado un número del 1 al 500, y Beatriz tiene 10 intentos para adivinarlo. Por cada intento de Beatriz, Alfredo tiene que responder “mayor” (si Beatriz se ha quedado corta) o “menor” (si se ha pasado).

Tu cometido en este problema es el siguiente: asumiendo que Beatriz ha realizado ya 9 intentos, ninguno de los cuales ha sido exitoso, tienes que descubrir si estos intentos son suficientes para descubrir el número pensado por Alfredo (y, por lo tanto, Beatriz acertará en el décimo intento si dice tal número) o si, por el contrario, podrían haber varias posibles respuestas.

Entrada

La entrada contiene en una línea el número n de casos. Le siguen n líneas, cada una de las cuales describe un caso. Un caso está formado por 9 parejas g a, separadas por espacios, donde g es un número entre 1 y 500 propuesto por Beatriz, y a es la respuesta que da Alfredo: el símbolo ‘+’ indica que la respuesta de Alfredo es “Mayor”, mientras que el símbolo ‘-’ indica “Menor”.

Alfredo nunca miente ni se equivoca en sus respuestas.

Salida

La salida consiste en n líneas, cada una de las cuales da la solución de un caso. Escribid el número en una línea si podéis saber con total seguridad cual es el número pensado por Alfredo. En caso contrario, escribid ‘?’ en una línea. (Seguid el formato de los ejemplos).

Public test cases
  • Input

    6
    250 - 125 - 65 - 40 - 21 - 8 - 4 - 2 - 2 -
    250 - 125 - 65 - 40 - 21 - 8 - 4 - 3 - 3 -
    250 - 125 - 62 - 31 + 46 - 38 + 34 + 40 + 43 -
    250 - 125 - 62 - 31 - 15 - 7 + 11 - 9 - 10 -
    250 - 125 - 62 - 31 - 15 - 7 + 11 - 9 + 9 +
    250 - 125 - 62 - 31 - 15 - 7 + 11 + 17 - 14 -
    
    
    

    Output

    1
    ?
    ?
    8
    10
    ?
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++ Python