Un Concurso Maravilloso


Enviar solución

Puntos: 100
Límite de tiempo: 1.0s
Límite de memoria: 256M

Tipo de problema
Lenguajes permitidos
C, C++, Java, Python

Como una persona que ama las competencias, ahora necesitas participar en un maravilloso concurso. Este concurso tiene \(n\) problemas, cada uno con una puntuación máxima de \(100\).

El problema \(i\) tiene \(a_i\) subtareas, y cada subtarea vale \(100 / a_i\) puntos. Se garantiza que \(a_i\) es un divisor de \(100\).

Varios concursantes participarán en este concurso. Supongamos que un concursante resuelve \(x_i\) (\(0 \leq x_i \leq a_i\)) subtareas del problema \(i\); entonces su puntuación en ese problema será:

\[ x_i \times \frac{100}{a_i} \]

La puntuación total del concursante es la suma de las puntuaciones obtenidas en todos los problemas.

Para demostrar que el concurso es realmente maravilloso, debes determinar si es posible obtener todos los puntajes enteros desde \(0\) hasta \(100 \times n\) (inclusive).

Formalmente, verifica si se cumple la siguiente afirmación:

  • Para todo entero \(k\) tal que \(0 \leq k \leq 100 \times n\), existe un arreglo \(x\) de longitud \(n\) (\(0 \leq x_i \leq a_i\)) que satisface \[ k = \sum_{i=1}^{n} x_i \times \frac{100}{a_i} \]

Entrada

La primera línea contiene un entero \(t\) (\(1 \leq t \leq 100\)) — la cantidad de casos de prueba.

Para cada caso de prueba:

  • La primera línea contiene un entero \(n\) (\(1 \leq n \leq 10\)), la cantidad de problemas.
  • La segunda línea contiene \(n\) enteros \(a_1, a_2, \dots, a_n\) (\(1 \leq a_i \leq 100\)), la cantidad de subtareas de cada problema.

Se garantiza que cada \(a_i\) es un divisor de \(100\).

Salida

Para cada caso de prueba, imprime:

  • "Yes" si es posible obtener todos los puntajes enteros desde \(0\) hasta \(100 \times n\).
  • "No" en caso contrario.

Ejemplo

Entrada
5
2
100 20
2
10 10
3
50 100 25
4
1 2 5 20
10
100 1 2 4 5 10 20 25 50 100
Salida
Yes
No
Yes
No
Yes

Comentarios

No hay comentarios por el momento.