CF1027C Minimum Value Rectangle

题目描述

你有 $n$ 根给定长度的木棍。 你的任务是从中恰好选出四根,使它们能够组成一个矩形。木棍不能被切割,每条矩形的边必须由一根完整的木棍组成,且每根木棍只能被选一次。保证总能选出这样的四根木棍。 设 $S$ 为矩形的面积,$P$ 为矩形的周长。 你选择的矩形应使得值 $\frac{P^2}{S}$ 尽可能小。该值无需取整。 如果有多种答案,输出任意一种即可。 每个测试用例包含若干组木棍列表,你需要分别解决每组数据。

输入格式

第一行包含一个整数 $T$($T \ge 1$),表示测试用例中木棍列表的数量。 接下来有 $2T$ 行——第 $(2i-1)$ 行和第 $2i$ 行描述第 $i$ 个列表。每对中的第一行包含一个整数 $n$($4 \le n \le 10^6$),表示第 $i$ 个列表中的木棍数量。第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_j \le 10^4$),表示第 $i$ 个列表中每根木棍的长度。 保证每组数据都存在一种选法,可以选出四根木棍组成矩形。 所有 $T$ 组数据中木棍总数不超过 $10^6$。

输出格式

输出 $T$ 行。第 $i$ 行应输出你为第 $i$ 个列表选择的四根木棍的长度,使它们能组成一个矩形,且该矩形的 $\frac{P^2}{S}$ 值最小。你可以以任意顺序输出这四个长度。 如果有多种答案,输出任意一种即可。

说明/提示

第一组数据只有一种选法,选出的四根木棍可组成边长为 $2$ 和 $7$ 的矩形,其面积为 $2 \times 7 = 14$,周长为 $2(2 + 7) = 18$。$\frac{18^2}{14} \approx 23.143$。 第二组数据中,能组成矩形的四根木棍分别为 $(1, 2)$、$(2, 8)$ 和 $(1, 8)$。它们对应的值分别为 $\frac{6^2}{2} = 18$、$\frac{20^2}{16} = 25$ 和 $\frac{18^2}{8} = 40.5$。其中最小的是边长为 $(1, 2)$ 的矩形。 第三组数据中,任意选出 $5$ 根长度为 $5$ 的木棍中的四根,都能组成边长为 $5$ 的正方形,也是边长为 $(5, 5)$ 的矩形。 由 ChatGPT 4.1 翻译