QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#102. Bootfall

統計

Tima et ses $N$ amis adorent jouer au Bootfall. Le Bootfall est un jeu sportif pour $N + 1$ joueurs. Chaque joueur possède une force, qui peut être représentée par un entier strictement positif. Une partie se compose de $N + 1$ manches ; à chaque manche, l'un des joueurs filme la manche en vidéo et les $N$ autres joueurs se répartissent en deux équipes, de sorte que chaque joueur soit affecté à l'une des équipes et que les deux équipes soient non vides. La force d'une équipe est la somme des forces de tous les joueurs de l'équipe. De plus, chaque joueur sera le caméraman lors d'exactement une manche.

Une manche est dite nulle s'il existe une répartition en deux équipes de force égale, et la partie entière est dite amicale si toutes les manches sont nulles. Chacun des $N$ amis a déjà informé Tima de sa force, et maintenant Tima peut s'attribuer n'importe quelle valeur valide de force.

Tima connaît les forces de tous les $N$ joueurs et il va choisir une valeur telle que la partie puisse être amicale. Aidez-le à trouver toutes les forces possibles.

Entrée

La première ligne de l'entrée contient un entier strictement positif $N$ ($1 \le N \le 500$) — le nombre d'amis de Tima. La deuxième ligne de l'entrée contient $N$ entiers strictement positifs $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$ ; $1 \le i \le N$) séparés par des espaces, où $a_i$ est la force de la $i$-ème personne.

Sortie

La première ligne de la sortie doit contenir un entier $K$ — le nombre de forces possibles pour Tima. S'il n'existe aucune force possible pour Tima, affichez uniquement « 0 » (sans les guillemets) ; sinon, sur la deuxième ligne de la sortie, affichez $K$ entiers strictement positifs séparés par des espaces — toutes les valeurs de force possibles pour Tima par ordre croissant.

Sous-tâches

Ce problème comporte six sous-tâches :

  1. $1 \le N \le 12$, $1 \le a_i \le 200$, pour tout $1 \le i \le N$. Score : 6 points.
  2. $1 \le N \le 30$, $1 \le a_i \le 20$, pour tout $1 \le i \le N$. Score : 7 points.
  3. $1 \le N \le 100$, $1 \le a_i \le 100$, pour tout $1 \le i \le N$. Score : 15 points.
  4. $1 \le N \le 270$, $1 \le a_i \le 270$, pour tout $1 \le i \le N$. Score : 16 points.
  5. $1 \le N \le 350$, $1 \le a_i \le 350$, pour tout $1 \le i \le N$. Score : 21 points.
  6. $1 \le N \le 500$, $1 \le a_i \le 500$, pour tout $1 \le i \le N$. Score : 35 points.

Chaque sous-tâche ne rapportera ses points que si la solution réussit toutes les sous-tâches précédentes.

Exemples

Entrée 1

4
1 3 1 5

Sortie 1

1
3

Entrée 2

6
3 5 7 11 9 13

Sortie 2

4
1 3 17 19

Entrée 3

3
2 2 2

Sortie 3

0

Entrée 4

4
200 200 200 200

Sortie 4

2
200 600

Remarque

Remarques sur le premier exemple.

Montrons que si Tima choisit la force $3$, alors la partie peut être amicale.

  • Lorsque Tima filme la partie, pour que la manche soit nulle, les autres joueurs peuvent être répartis comme suit : $(1, 3, 1)$ dans la première équipe et $(5)$ dans la seconde.
  • Lorsque l'ami 1 filme la partie, les autres peuvent être répartis comme suit : $(1, 5)$ dans la première équipe, $(3, 3)$ dans la seconde.
  • Lorsque l'ami 2 filme la partie, les autres peuvent être répartis comme suit : $(1, 1, 3)$ dans la première équipe, $(5)$ dans la seconde.
  • Lorsque l'ami 3 filme la partie, les autres peuvent être répartis comme suit : $(3, 3)$ dans la première équipe, $(1, 5)$ dans la seconde.
  • Lorsque l'ami 4 filme la partie, les autres peuvent être répartis comme suit : $(1, 3)$ dans la première équipe, $(1, 3)$ dans la seconde.

Si Tima choisit une force différente de $3$, alors la partie ne peut pas être amicale.

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.