Juego con piedras (Parte II)


Submit solution

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 1G

Author:
Problem type
Allowed languages
C++, Python

El problema B: "Juego con piedras" está dividido en dos partes. Esta es la Parte II y tiene un valor de 10 puntos.

Este es un problema output-only

Por alguna razón, el juego siempre terminaba en empate. Gracias a tus avanzadas habilidades de programación, descubriste que la causa era que había más de un par i y j (1 \le i < j \le n) con el valor máximo de a_i \text{  OR  } a_j.

Ana y Bruno no quieren más empates, pero no es justo que uno de ellos elija la configuración inicial para el juego, así que te han pedido ayuda.

Tu tarea es encontrar una configuración inicial para el juego de tal manera que solo haya un par i y j (1 \le i < j \le n) con el valor máximo de a_i \text{  OR  } a_j.

Salida

La primera línea debe contener un solo entero n (2 \le n \le 10^5) - el número de montones de piedras en la configuración inicial.

La segunda línea debe contener n enteros separados por espacios a_1, a_2, \ldots, a_n (0 \le a_i < 2^{17}) - el número de piedras en el i-ésimo montón.

Puntuación

Si tu configuración inicial no satisface que 2 \le n \le 10^5 o para algún i (1 \le i \le n) no es cierto que 0 \le a_i < 2^{17} o existe más de un par i y j (1 \le i < j \le n) con el valor máximo de a_i \text{ OR } a_j, tu puntuación será 0.

De lo contrario, tu puntuación se calculará de la siguiente manera:

\text{puntuación} = \min(10, \lfloor 1 + 9 \cdot \sqrt[3]{\frac{n}{10^5}} \rfloor).


Comments

There are no comments at the moment.