题目二十八
E. Best Pair
[原题链接]
题目链接
[题目翻译]
给定一个长度为n的数组a,设cnt是数组中等于x的元素个数,我们也定义f(x,y)为(cntx+cnty)⋅(x+y)。
给你m对坏数对(xi,yi)。注意,如果(x,y)是坏对,那么(y,x)也是坏的。你的任务是找出f(u,v)在所有(u,v)对上的最大值,使u≠v,则这一对使好的,以及保证u和v都能出现在数组a中。它保证这样的数对存在。
[输入]
第一行包含一个整数t (1≤t≤10000)——表示测试用例的数量。
每个测试用例的第一行包含两个整数n和m(2≤n≤3⋅10e5, 0≤m≤3⋅10e5)——表示数组的长度和坏对的数目。
每个测试用例的第二行包含n个整数a1,a2,…,an (1≤ai≤10e9),表示坏的一对。它保证输入中不会出现两次坏对。也保证 cntxi>0 and cntyi>0
他保证每个测试用例都有一对整数(u,v), u≠v,这并不坏,这样的话两个数字都出现了一次。
保证n和m的总和不超过 3⋅10e5
[输出]
对于每一个测试用例,输出一个整数——代表问题的答案