QOJ.ac

QOJ

时间限制: 1 s 内存限制: 256 MB 总分: 100

#102. 落足点

统计

Tima 和他的 $N$ 个朋友喜欢玩 Bootfall。Bootfall 是一种供 $N+1$ 名玩家参与的体育游戏。每位玩家都有一个力量值,可以用一个正整数表示。游戏包含 $N+1$ 个回合,在每一回合中,其中一名玩家负责录制视频,其余 $N$ 名玩家被分成两支队伍,使得每位玩家都被分配到其中一支队伍,且两支队伍均非空。队伍的力量值是该队所有玩家力量值之和。此外,每位玩家都会在恰好一个回合中负责录制。

如果存在一种将玩家分成两支力量值相等的队伍的方法,则该回合被称为“平局”(draw)。如果所有回合都是平局,则整个游戏被称为“友好”(friendly)。$N$ 个朋友已经告知了 Tima 他们的力量值,现在 Tima 可以为自己设定任何有效的正整数力量值。

Tima 知道所有 $N$ 名朋友的力量值,他将选择某个值,使得游戏能够成为友好的。请帮助他找出所有可能的取值。

输入格式

第一行包含一个正整数 $N$ ($1 \le N \le 500$),表示 Tima 的朋友数量。 第二行包含 $N$ 个正整数 $a_1, a_2, \dots, a_N$ ($1 \le a_i \le 500; 1 \le i \le N$),用空格分隔,其中 $a_i$ 表示第 $i$ 个人的力量值。

输出格式

第一行输出一个整数 $K$,表示 Tima 可能的力量值数量。如果不存在这样的力量值,则仅输出“0”(不含引号)。否则,在第二行输出 $K$ 个正整数,按升序排列,表示 Tima 所有可能的力量值。

子任务

本题包含六个子任务:

  1. $1 \le N \le 12, 1 \le a_i \le 200$,对于所有 $1 \le i \le N$。分值 6 分。
  2. $1 \le N \le 30, 1 \le a_i \le 20$,对于所有 $1 \le i \le N$。分值 7 分。
  3. $1 \le N \le 100, 1 \le a_i \le 100$,对于所有 $1 \le i \le N$。分值 15 分。
  4. $1 \le N \le 270, 1 \le a_i \le 270$,对于所有 $1 \le i \le N$。分值 16 分。
  5. $1 \le N \le 350, 1 \le a_i \le 350$,对于所有 $1 \le i \le N$。分值 21 分。
  6. $1 \le N \le 500, 1 \le a_i \le 500$,对于所有 $1 \le i \le N$。分值 35 分。

仅当解决方案成功通过所有前置子任务时,该子任务才会得分。

样例

输入 1

4
1 3 1 5

输出 1

1
3

输入 2

6
3 5 7 11 9 13

输出 2

4
1 3 17 19

输入 3

3
2 2 2

输出 3

0

输入 4

4
200 200 200 200

输出 4

2
200 600

说明

第一个样例的说明: 让我们展示如果 Tima 选择力量值 3,游戏可以是友好的。 — 当 Tima 录制游戏时,为了使该回合为平局,其他玩家可以这样分组:第一队为 $(1, 3, 1)$,第二队为 $(5)$。 — 当朋友 1 录制游戏时,其他人可以这样分组:第一队为 $(1, 5)$,第二队为 $(3, 3)$。 — 当朋友 2 录制游戏时,其他人可以这样分组:第一队为 $(1, 1, 3)$,第二队为 $(5)$。 — 当朋友 3 录制游戏时,其他人可以这样分组:第一队为 $(3, 3)$,第二队为 $(1, 5)$。 — 当朋友 4 录制游戏时,其他人可以这样分组:第一队为 $(1, 3)$,第二队为 $(1, 3)$。 如果 Tima 选择的力量值不等于 3,则游戏无法成为友好的。

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.