Universal Cup Judging System

Universal Cup

时间限制: 1 s 内存限制: 512 MB 总分: 100 可 Hack ✓
统计

Yuki — головний суддя Міжнародного чемпіонату з опуклих многокутників (ICPC). Він запропонував геометричну задачу для змагання. Проте через брак досвіду в геометрії йому не вдалося згенерувати правильні дані опуклих многокутників.

Щоб довести свої геометричні здібності, Yuki знову почав гратися з паличками. Він має $n$ паличок, довжина $i$-ї з яких дорівнює $a_i$. Він має намір вибрати принаймні $3$ палички так, щоб із них можна було скласти невироджений опуклий многокутник$^*$.

Однак Yuki не дуже знається на геометрії, тож не знає, як вибрати палички. Як його добрий друг, ви маєте допомогти йому знайти підмножину паличок, таку що:

  • Підмножина містить принаймні $3$ палички, а кількість паличок є якомога більшою;

  • Із будь-якої підмножини принаймні $3$ паличок, вибраних із цієї підмножини, можна скласти невироджений опуклий многокутник.

Або повідомте, що такої підмножини не існує.

$^*$: Невироджений опуклий многокутник — це многокутник, у якого всі довжини сторін більші за нуль, жодні три вершини не лежать на одній прямій, а всі внутрішні кути строго менші за $180^\circ$.

Вхідні дані

Ця задача містить кілька тестових випадків.

Перший рядок містить додатне ціле число $t$ ($1 \le t \le 10^5$) — кількість тестових випадків.

Для кожного тестового випадку:

  • Перший рядок містить додатне ціле число $n$ ($3 \le n \le 5 \cdot 10^5$).

  • Другий рядок містить $n$ додатних цілих чисел $a_1,\ldots,a_n$ ($1 \le a_i \le 10^9$).

Гарантується, що сума $n$ за всіма тестовими випадками не перевищує $5 \cdot 10^5$.

Вихідні дані

Для кожного тестового випадку виведіть один рядок:

  • Якщо такої підмножини не існує, виведіть одне ціле число $0$.

  • Якщо вона існує, спочатку виведіть ціле число $k$ — розмір знайденої підмножини, а потім $k$ цілих чисел $b_1,\ldots,b_k$ — довжини $k$ паличок у вашій підмножині.

Приклади

Вхідні дані 1

3
4
6 9 2 6
3
4 4 9
6
3 1 4 6 5 9

Вихідні дані 1

3 6 2 6
0
4 3 4 5 6

Примітка

Для першого тестового випадку:

  • $\{6,2,6\}$ — допустима підмножина; оскільки $2+6>6$, із цих $3$ паличок можна скласти невироджений трикутник; легко довести, що більшої допустимої підмножини не існує.

  • $\{6,6,9\}$ — також допустима підмножина.

Для другого тестового випадку:

  • Можна довести, що допустимої підмножини не існує.

Для третього тестового випадку:

  • $\{3,4,5,6\}$ — допустима підмножина; у цьому випадку Yuki має $5$ способів вибрати палички: $\{3,4,5\}$, $\{3,4,6\}$, $\{3,5,6\}$, $\{4,5,6\}$, $\{3,4,5,6\}$, і кожен спосіб дає змогу скласти невироджений опуклий многокутник; легко довести, що більшої допустимої підмножини не існує.

  • $\{3,4,5,6,9\}$ — недопустима підмножина, бо з паличок завдовжки $3,4,9$ не можна скласти невироджений трикутник.

  • $\{3,5,6\}$ — недопустима підмножина, бо існує більша допустима підмножина.

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.