QOJ.ac

QOJ

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

#102. Bootfall

통계

Tima и его $N$ друзей любят играть в Bootfall. Bootfall — это спортивная игра для $N + 1$ игроков. У каждого игрока есть сила, которую можно представить положительным целым числом. Игра состоит из $N + 1$ раундов; в каждом раунде один из игроков записывает раунд на видео, а остальные $N$ игроков делятся на две команды так, что каждый игрок попадает в одну из команд и обе команды непусты. Сила команды равна сумме сил всех игроков в этой команде. Кроме того, каждый игрок будет оператором ровно в одном раунде.

Раунд называется ничейным, если существует разбиение на две команды с равной силой, а вся игра называется дружеской, если все раунды являются ничейными. Каждый из $N$ друзей уже сообщил Tima свою силу, и теперь Tima может назначить себе любое допустимое значение силы.

Tima знает силы всех $N$ игроков и выберет некоторое значение так, чтобы игра могла быть дружеской. Помогите ему найти все возможные значения силы.

Входные данные

Первая строка входных данных содержит одно положительное целое число $N$ ($1 \le N \le 500$) — количество друзей Tima. Вторая строка входных данных содержит $N$ положительных целых чисел $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$), разделённых пробелами, где $a_i$ — сила $i$-го человека.

Выходные данные

Первая строка выходных данных должна содержать одно целое число $K$ — количество возможных значений силы для Tima. Если для 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.