QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#102. Bootfall

الإحصائيات

Tima と彼の $N$ 人の友人は Bootfall をするのが大好きです。Bootfall は $N+1$ 人で行うスポーツです。各プレイヤーには、正の整数で表される強さがあります。ゲームは $N+1$ ラウンドからなり、各ラウンドでは、1 人のプレイヤーがそのラウンドをビデオ撮影し、残りの $N$ 人が 2 チームに分かれます。各プレイヤーはいずれかのチームに所属し、両チームとも空であってはいけません。チームの強さは、そのチームに所属する全プレイヤーの強さの合計です。また、各プレイヤーはちょうど 1 ラウンドで撮影係になります。

強さが等しい 2 チームへの分け方が存在するとき、そのラウンドを引き分けと呼びます。また、すべてのラウンドが引き分けであるとき、ゲーム全体を友好的と呼びます。$N$ 人の友人はそれぞれ自分の強さをすでに Tima に伝えており、Tima は自分の強さとして有効な任意の値を選べます。

Tima は $N$ 人のプレイヤー全員の強さを知っており、ゲームを友好的にできる値を選ぼうとしています。彼が選べる強さをすべて求めてください。

入力

1 行目には、Tima の友人の人数を表す正の整数 $N$($1 \le N \le 500$)が与えられます。2 行目には、空白で区切られた $N$ 個の正の整数 $a_1,a_2,\ldots,a_N$($1 \le a_i \le 500$、$1 \le i \le N$)が与えられます。$a_i$ は $i$ 番目の友人の強さです。

出力

1 行目に、Tima が選べる強さの個数を表す整数 $K$ を出力してください。選べる強さが存在しなければ、0 だけを出力してください。そうでなければ、2 行目に、Tima が選べるすべての強さを表す $K$ 個の正の整数を、空白で区切って昇順に出力してください。

小課題

この問題は 6 個の小課題からなります。

  1. $1 \le N \le 12$、すべての $1 \le i \le N$ について $1 \le a_i \le 200$。6 点。
  2. $1 \le N \le 30$、すべての $1 \le i \le N$ について $1 \le a_i \le 20$。7 点。
  3. $1 \le N \le 100$、すべての $1 \le i \le N$ について $1 \le a_i \le 100$。15 点。
  4. $1 \le N \le 270$、すべての $1 \le i \le N$ について $1 \le a_i \le 270$。16 点。
  5. $1 \le N \le 350$、すべての $1 \le i \le N$ について $1 \le a_i \le 350$。21 点。
  6. $1 \le N \le 500$、すべての $1 \le i \le N$ について $1 \le a_i \le 500$。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 チーム $(1,3,1)$ と第 2 チーム $(5)$ に分けられます。
  • 友人 1 が撮影するとき、残りのプレイヤーを第 1 チーム $(1,5)$ と第 2 チーム $(3,3)$ に分けられます。
  • 友人 2 が撮影するとき、残りのプレイヤーを第 1 チーム $(1,1,3)$ と第 2 チーム $(5)$ に分けられます。
  • 友人 3 が撮影するとき、残りのプレイヤーを第 1 チーム $(3,3)$ と第 2 チーム $(1,5)$ に分けられます。
  • 友人 4 が撮影するとき、残りのプレイヤーを第 1 チーム $(1,3)$ と第 2 チーム $(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.