Defensa de Gnirut


Submit solution


Points: 100 (partial)
Time limit: 2.0s
Memory limit: 256M

Authors:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Prolog, Python, Swift, VB

La ciudad de Gnirut es famosa por sus "poemas binarios". Un poema binario es una cadena S que satisface todas las siguientes condiciones:

  • S consta únicamente de los caracteres '0' o '1'.
  • S consta de al menos un carácter.
  • S [0] = '1'. (Indexación basada en 0).

Un "poema binario alterno" es una cadena S que satisface todas las siguientes condiciones:

  • S es un poema binario.
  • S [i] y S [i-1] difieren, para i > 0.

Por ejemplo, "1", "10", "101" y "1010" son poemas binarios alternos, mientras que "", "0", "01", "010" y "100" no lo son.

¡Un día, la ciudad de Gnirut está siendo atacada por una criatura malvada! Lana, el gobernante de la ciudad de Gnirut, ahora está negociando con la malvada criatura para que desaparezca. Resulta que la criatura malvada solo quiere un poema binario S que satisfaga todas las siguientes condiciones:

  • S contiene exactamente A subsecuencias que son poemas binarios alternos de longitud impar.
  • S contiene exactamente B subsecuencias que son poemas binarios alternos de longitud par.

Una subsecuencia de S se produce eliminando cero o más caracteres de S. Por ejemplo, el poema binario "1101" contiene exactamente 7 subsecuencias que son poemas binarios alternos: "1" (3 veces), "10" (2 veces), y "101" (2 veces).

Dado que es posible que haya múltiples poemas binarios que satisfagan las condiciones, la criatura maligna quiere el poema binario lexicográficamente más pequeño (ver la sección de Notas).

Dado que S puede ser muy largo, la criatura malvada se lo tomará con calma haciendo solo Q preguntas. La i-ésima pregunta es: ¿Cuáles son los caracteres de S en los índices de L [i] a R [i], inclusive?

¡Ayuda a Lana de Gnirut a responder las preguntas!

Notas

El orden lexicográfico se define de la siguiente manera: una cadena U se considera lexicográficamente más pequeña que una cadena V si U es un prefijo de V, o en el índice más pequeño i donde U [i] y V [i] difieren, U [i ] < V [i].

Formato de entrada

Las líneas de entrada se dan en el siguiente formato:

A B Q
L [1] R [1]
L [2] R [2]
.
.
L [Q] R [Q]
Formato de salida

Si no hay un poema binario posible S que satisfaga las condiciones, genere una sola línea que contenga:

NO

Si hay una solución, imprima:

YES
T [1]
T [2]
.
.
T [Q]

donde T [i] es la respuesta a la i-ésima pregunta, si L [i] y R [i] son ​​índices válidos de S, o "OUT" en caso contrario.

Entrada de muestra 1
5 2 4
0 3
1 2
3 3
0 4
Salida de muestra 1
YES
1101
10
1
OUT
Explicación de la muestra 1

El poema binario lexicográficamente más pequeño que cumple las condiciones es S = "1101":

  • Hay exactamente A = 5 subsecuencias que son poemas binarios alternos de longitud impar: "1" (3 veces) y "101" (2 veces).
  • Hay exactamente B = 2 subsecuencias que son poemas binarios alternos de longitud par: "10" (2 veces).
Entrada de muestra 2
3 2 4
0 3
1 2
3 3
0 4
Salida de muestra 2
NO
Subtareas

Para todas las subtareas:

  • 0 \le A, B \le 10 ^{15}
  • A + B > 0
  • 0 \le Q \le 20.000
  • 0 \le L [i] \le R [i] <10 ^{16}
  • R [i] - L [i] \le 50
Subtarea 1 (11 puntos):
  • A + B \le 8
  • Q = 1
Subtarea 2 (8 puntos):
  • A + B \le 18
  • Q = 1
Subtarea 3 (30 puntos):
  • A, B \le 2000
Subtarea 4 (26 puntos):
  • A, B \le 1.000.000
Subtarea 5 (17 puntos):
  • Q = 0
Subtarea 6 (8 puntos):
  • Sin restricciones adicionales.

Comments

There are no comments at the moment.