CF1027C.Minimum Value Rectangle

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You have nn sticks of the given lengths.

Your task is to choose exactly four of them in such a way that they can form a rectangle. No sticks can be cut to pieces, each side of the rectangle must be formed by a single stick. No stick can be chosen multiple times. It is guaranteed that it is always possible to choose such sticks.

Let SS be the area of the rectangle and PP be the perimeter of the rectangle.

The chosen rectangle should have the value P2S\frac{P^2}{S} minimal possible. The value is taken without any rounding.

If there are multiple answers, print any of them.

Each testcase contains several lists of sticks, for each of them you are required to solve the problem separately.

你有 nn 根给定长度的木棍。

你的任务是恰好从中选出四根,使得它们能构成一个矩形。木棍不可切割,矩形的每条边必须由一根完整的木棍构成,且每根木棍至多被选中一次。题目保证总能找到满足条件的四根木棍。

设 SS 为该矩形的面积,PP 为该矩形的周长。

所选矩形应使得 P2S\frac{P^2}{S} 的值尽可能小(不进行任何舍入)。

若存在多个满足条件的解,输出任意一个即可。

每个测试用例包含若干组木棍列表,对每组列表你都需要独立求解该问题。

输入格式

The first line contains a single integer TT (T≥1T \ge 1) — the number of lists of sticks in the testcase.

Then 2T2T lines follow — lines (2i−1)(2i - 1) and 2i2i of them describe the ii-th list. The first line of the pair contains a single integer nn (4≤n≤1064 \le n \le 10^6) — the number of sticks in the ii-th list. The second line of the pair contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤aj≤1041 \le a_j \le 10^4) — lengths of the sticks in the ii-th list.

It is guaranteed that for each list there exists a way to choose four sticks so that they form a rectangle.

The total number of sticks in all TT lists doesn't exceed 10610^6 in each testcase.

第一行包含一个整数 TT(T≥1T \ge 1)—— 表示测试用例中木棍列表的个数。

接下来是 2T2T 行——其中第 (2i−1)(2i - 1) 行和第 2i2i 行描述第 ii 个木棍列表。每对行中的第一行包含一个整数 nn(4≤n≤1064 \le n \le 10^6)—— 表示第 ii 个列表中木棍的数目;第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤aj≤1041 \le a_j \le 10^4)—— 表示第 ii 个列表中各木棍的长度。

保证对于每个列表,均存在一种方式从中选出四根木棍,使其能构成一个矩形。

在每个测试用例中,所有 TT 个列表的木棍总数不超过 10610^6。

输出格式

Print TT lines. The ii-th line should contain the answer to the ii-th list of the input. That is the lengths of the four sticks you choose from the ii-th list, so that they form a rectangle and the value P2S\frac{P^2}{S} of this rectangle is minimal possible. You can print these four lengths in arbitrary order.

If there are multiple answers, print any of them.

输出 TT 行。第 ii 行应包含对输入中第 ii 个列表的解答:即从第 ii 个列表中选出的四根木棍的长度,使得它们能构成一个矩形,且该矩形的值 P2S\frac{P^2}{S} 达到可能的最小值。这四个长度可以以任意顺序输出。

若存在多个满足条件的答案,输出其中任意一个即可。

输入输出样例

  • 输入#1

    3
    4
    7 2 2 7
    8
    2 8 1 4 8 2 1 5
    5
    5 5 5 5 5

    输出#1

    2 7 7 2
    2 2 1 1
    5 5 5 5

说明/提示

There is only one way to choose four sticks in the first list, they form a rectangle with sides 22 and 77, its area is 2⋅7=142 \cdot 7 = 14, perimeter is 2(2+7)=182(2 + 7) = 18. 18214≈23.143\frac{18^2}{14} \approx 23.143.

The second list contains subsets of four sticks that can form rectangles with sides (1,2)(1, 2), (2,8)(2, 8) and (1,8)(1, 8). Their values are 622=18\frac{6^2}{2} = 18, 20216=25\frac{20^2}{16} = 25 and 1828=40.5\frac{18^2}{8} = 40.5, respectively. The minimal one of them is the rectangle (1,2)(1, 2).

You can choose any four of the 55 given sticks from the third list, they will form a square with side 55, which is still a rectangle with sides (5,5)(5, 5).

第一组列表中只有一种方式选择四根木棍,它们构成一个边长为 22 和 77 的矩形,其面积为 2⋅7=142 \cdot 7 = 14,周长为 2(2+7)=182(2 + 7) = 18。18214≈23.143\frac{18^2}{14} \approx 23.143。

第二组列表中包含若干个由四根木棍组成的子集,可分别构成边长为 (1,2)(1, 2)、(2,8)(2, 8) 和 (1,8)(1, 8) 的矩形。它们对应的值分别为 622=18\frac{6^2}{2} = 18、20216=25\frac{20^2}{16} = 25 和 1828=40.5\frac{18^2}{8} = 40.5。其中最小的值对应矩形 (1,2)(1, 2)。

第三组列表给出 55 根木棍,从中任选四根,均可构成边长为 55 的正方形——它仍是一个边长为 (5,5)(5, 5) 的矩形。

输入解题思路,AI测评打分。不知道怎么写?

首页