Universal Cup Judging System

Universal Cup

Time Limit: 1 s Memory Limit: 512 MB Total points: 100 Hackable ✓
Statistics

Yuki は国際凸多角形選手権(ICPC)の審判長です。彼は大会に幾何の問題を提案しました。しかし、幾何の経験が足りず、正しい凸多角形のデータを生成できませんでした。

自分の幾何の実力を証明するため、Yuki は再び棒で遊び始めました。彼は $n$ 本の棒を持ち、$i$ 番目の棒の長さは $a_i$ です。この中から少なくとも $3$ 本を選び、それらで非退化な凸多角形$^*$を作ろうとしています。

しかし、Yuki は幾何に詳しくないため、棒の選び方がわかりません。Yuki の親友であるあなたは、次を満たす棒の部分集合を見つける手助けをする必要があります。

  • 部分集合は少なくとも $3$ 本の棒を含み、棒の本数ができるだけ多い。

  • この部分集合から少なくとも $3$ 本を選んだどの部分集合についても、その棒で非退化な凸多角形を作れる。

または、そのような部分集合が存在しないと報告してください。

$^*$:非退化な凸多角形とは、すべての辺の長さが正で、どの $3$ 頂点も同一直線上になく、すべての内角が $180^\circ$ より厳密に小さい多角形です。

入力

この問題には複数のテストケースがあります。

最初の行には、テストケース数を表す正整数 $t$($1 \le t \le 10^5$)が与えられます。

各テストケースについて:

  • 最初の行には正整数 $n$($3 \le n \le 5 \cdot 10^5$)が与えられます。

  • $2$ 行目には $n$ 個の正整数 $a_1,\ldots,a_n$($1 \le a_i \le 10^9$)が与えられます。

すべてのテストケースにわたる $n$ の総和は $5 \cdot 10^5$ 以下であることが保証されます。

出力

各テストケースについて、$1$ 行に出力してください。

  • そのような部分集合が存在しなければ、整数 $0$ を出力してください。

  • 存在するなら、まず見つけた部分集合の大きさを表す整数 $k$ を出力し、続いてその部分集合内の $k$ 本の棒の長さを表す $k$ 個の整数 $b_1,\ldots,b_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\}$ も有効な部分集合です。

$2$ 番目のテストケースについて:

  • 有効な部分集合が存在しないことを証明できます。

$3$ 番目のテストケースについて:

  • $\{3,4,5,6\}$ は有効な部分集合です。この場合、Yuki の棒の選び方は $\{3,4,5\}$、$\{3,4,6\}$、$\{3,5,6\}$、$\{4,5,6\}$、$\{3,4,5,6\}$ の $5$ 通りあり、いずれも非退化な凸多角形を作れます。これより大きな有効な部分集合が存在しないことは容易に証明できます。

  • $\{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.