CF1607C Minimum Extraction
题目描述
*Yelisey* 有一个含有 $n$ 个整数的数组 $a$。
如果 $a$ 的长度大于 $1$,*Yelisey* 就能对它进行一种被称为「提取最小值」的操作:
1. 将最小值 $m$ 从数组中删除,数组的长度会因此缩短 $1$。
(如果有几个相同的 $m$,*Yelisei* 可以凭心情任选一个。)
2. 数组中剩下的元素也会被减去 $m$。
举个例子,有一个数组 $\{1, 6, -4, -2, -4\}$,其中的最小元素是 $-4$。我们将随意删去 $a_3$、$a_5$ 中的一个,再把剩余元素各减去 $-4$。显而易见,操作后的数组长这样:$\{1-(-4),6-(-4),-2-(-4),-4-(-4)\}$,化简后得到答案 $\{5, 10, 2, 0\}$。
由于 Yelisey 更喜欢大数,他希望这种操作能使数组 $a$ 中的元素数值尽可能大。
准确来说,他希望使数组 $a$ 中的最小值最大。为了达到这一目的,*Yelisey* 不惜对数组进行任意次「提取最小值」操作;当然,他也不一定非要进行这种操作。
现在,请你帮助他计算出在进行任意次「提取最小值」操作后,数组 $a$ 中的最小元素可以具有的最大值。
输入格式
第一行包含一个整数 $t( 1\le t\le10^4 )$,表示询问的次数。
接下来的 $2t$ 行对于每次询问在第一行给出了数组的原始长度 $n(1\le n\le 2⋅10^5)$ 和每个元素的值 $a_i( -10^9\le a_i\le 10^9)$。
输出格式
输出 $t$ 行,每行一个整数表示数次(可以是 $0$ 次)操作后数组 $a$ 中最小数的最大值。
说明/提示
在第一组数据中,数组的原始长度 $n=1$,*Yelisey* 不能对它进行操作。因此最小元素的最大值是 $a_1=10$ 。
在第二组数据中,数组始终只有 $0$。所以,最小元素的最大值为 $a_2=0$。
在第三组数据中,数组的改变过程如下: $\{\color{blue}{-1}$$,2,0\}\to\{ 3,\color{blue}1$$\}\to$ $\{$$\color{blue} {2}$$\}$。所以,最小元素的最大值是 $a_3=2$ 。(当前数组最小的数以蓝色标出)
保证所有询问的数组原始长度 $n$ 之和不超过 $2\cdot 10^5$。
在第四组数据中,数组的改变过程如下:$\{2,10,$$\color{blue}{1}$$,7\}\to\{\color{blue}{1}$$,9,6\}\to\{8,\color {blue}{5}$$\}\to$$\{$$\color{blue}{3}$$\}$。 所以,最小元素的最大值是 $a_4=5$ 。
Translated by @[Aynxul03](https://www.luogu.com.cn/user/267459) & @[li142857](https://www.luogu.com.cn/user/540584)