QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 256 MB 총점: 100 해킹 가능 ✓

#102. Bootfall

통계

A Tima y a sus $N$ amigos les encanta jugar al Bootfall. Bootfall es un juego deportivo para $N + 1$ jugadores. Cada jugador tiene una fuerza, que puede representarse como un número entero positivo. El juego consta de $N + 1$ rondas; en cada ronda uno de los jugadores grabará la ronda en vídeo y los $N$ jugadores restantes se dividirán en dos equipos, de modo que cada jugador sea asignado a uno de los equipos y ambos equipos sean no vacíos. La fuerza de un equipo es la suma de las fuerzas de todos los jugadores del equipo. Además, cada jugador será el encargado de grabar en exactamente una ronda.

Una ronda se llama empate si existe una división en dos equipos con igual fuerza, y todo el juego se llama amistoso si todas las rondas son empate. Cada uno de los $N$ amigos ya le ha informado a Tima sobre su fuerza, y ahora Tima puede asignarse a sí mismo cualquier valor válido de fuerza.

Tima conoce las fuerzas de todos los $N$ jugadores y elegirá algún valor de modo que el juego pueda ser amistoso. Ayúdalo a encontrar todas las fuerzas posibles.

Entrada

La primera línea de la entrada contiene un número entero positivo $N$ ($1 \le N \le 500$) — el número de amigos de Tima. La segunda línea de la entrada contiene $N$ números enteros positivos $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$) separados por espacios, donde $a_i$ es la fuerza de la $i$-ésima persona.

Salida

La primera línea de la salida debe contener un número entero $K$ — el número de fuerzas posibles para Tima. Si no existe ninguna fuerza posible para Tima, imprima únicamente “0” (sin comillas); en caso contrario, en la segunda línea de la salida imprima $K$ números enteros positivos separados por espacios — todos los valores de fuerza posibles para Tima en orden creciente.

Subtareas

Este problema consta de seis subtareas:

  1. $1 \le N \le 12$, $1 \le a_i \le 200$, para todo $1 \le i \le N$. Puntuación: 6 puntos.
  2. $1 \le N \le 30$, $1 \le a_i \le 20$, para todo $1 \le i \le N$. Puntuación: 7 puntos.
  3. $1 \le N \le 100$, $1 \le a_i \le 100$, para todo $1 \le i \le N$. Puntuación: 15 puntos.
  4. $1 \le N \le 270$, $1 \le a_i \le 270$, para todo $1 \le i \le N$. Puntuación: 16 puntos.
  5. $1 \le N \le 350$, $1 \le a_i \le 350$, para todo $1 \le i \le N$. Puntuación: 21 puntos.
  6. $1 \le N \le 500$, $1 \le a_i \le 500$, para todo $1 \le i \le N$. Puntuación: 35 puntos.

Cada subtarea recibirá puntuación únicamente si la solución supera con éxito todas las subtareas anteriores.

Ejemplos

Entrada 1

4
1 3 1 5

Salida 1

1
3

Entrada 2

6
3 5 7 11 9 13

Salida 2

4
1 3 17 19

Entrada 3

3
2 2 2

Salida 3

0

Entrada 4

4
200 200 200 200

Salida 4

2
200 600

Nota

Notas sobre el primer caso de ejemplo.

Mostremos que si Tima selecciona la fuerza $3$, entonces el juego puede ser amistoso.

  • Cuando Tima grabe el juego, para que la ronda sea empate, los demás jugadores pueden dividirse de la siguiente manera: $(1, 3, 1)$ en el primer equipo y $(5)$ en el segundo.
  • Cuando el amigo 1 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 5)$ en el primer equipo, $(3, 3)$ en el segundo.
  • Cuando el amigo 2 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 1, 3)$ en el primer equipo, $(5)$ en el segundo.
  • Cuando el amigo 3 grabe el juego, los demás pueden dividirse de la siguiente manera: $(3, 3)$ en el primer equipo, $(1, 5)$ en el segundo.
  • Cuando el amigo 4 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 3)$ en el primer equipo, $(1, 3)$ en el segundo.

Si Tima selecciona una fuerza distinta de $3$, entonces el juego no puede ser amistoso.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.