问题 6141 --兔兔提取最小值

6141: 兔兔提取最小值★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 27  解决: 15
[提交][状态][命题人:]

题目描述

有一个含有n个整数的数组a。如果a的长度大于1,兔兔就能对它进行一种被称为"提取最小值"的操作:
  • 将最小值m从数组中删除,数组的长度会因此缩短1。(如果有几个相同的m,兔兔则任选一个。)
  • 数组中剩下的元素也会被减去m。
例如:有一个数组{1,6,−4,−2,−4},其中的最小元素是−4。将随意删去a3、a5中的一个,再把剩余元素各减去−4。操作后的数组为:{1−(−4),6−(−4),−2−(−4),−4−(−4)},化简后得到{5,10,2,0}。
兔兔希望这种操作能使数组a中的最小值最大。可对数组进行任意次"提取最小值"操作。现在,请你帮助他计算出在进行任意次"提取最小值"操作后,数组a中的最小元素可以具有的最大值。

输入

第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试样例的第1行为整数n (1≤n≤2e5),表示数组a的元素个数。
第2行为n个整数ai (−1e9≤ai≤1e9)。
测试数据保证所有的n之和不超过2e5。

输出

每组测试数据输出一个整数,表示在任意次操作后,数组a中的最小元素所具有的最大值。
样例输入
Copy
8
1
10
2
0 0
3
-1 2 0
4
2 10 1 7
2
2 3
5
3 2 -4 -2 0
2
-1 1
1
-2
样例输出
Copy
10
0
2
5
2
2
2
-2

提示

在测试样例1中,由于只有一个元素,因此无法进行"提取最小值"操作,因此答案为10。
在测试样例2中,不管是否进行"提取最小值"操作,所有元素都为0。
在测试样例3中,"提取最小值"操作后数组的变化如下:[−1,2,0]→[3,1]→[2],因此答案为2。
在测试样例4中,"提取最小值"操作后数组的变化如下:[2,10,1,7]→[1,9,6]→[8,5]→[3],因此答案为5。

来源

 

[提交][状态]