你面前有 n 名运动员,按从左到右编号为 1 到 n。你知道每名运动员的力量值:第 i 名运动员的力量为 si。
你要把所有运动员分成两支队伍。要求:
- 每支队伍至少有 1 名运动员;
- 每名运动员恰好属于其中一支队伍。
你的目标是让第一队中最强者与第二队中最弱者的力量差尽可能小。形式化地,将运动员划分为两队 A 与 B,使得下式最小:
∣max(A)−min(B)∣
其中:
- max(A) 表示队伍 A 中运动员力量的最大值;
- min(B) 表示队伍 B 中运动员力量的最小值。
例如,若 n=5,s=[3,1,2,6,4],一种划分为:
- 第一队:A=[1,2,4]
- 第二队:B=[3,6]
此时 ∣max(A)−min(B)∣=∣4−3∣=1,这是最优划分之一。
请输出最小可能的 ∣max(A)−min(B)∣。
输入格式
第一行一个整数 t(1≤t≤1000)表示测试用例数量。
接下来 t 个测试用例,每个测试用例包含两行:
- 第一行一个整数 n(2≤n≤50)表示运动员数量。
- 第二行 n 个正整数 s1,s2,…,sn(1≤si≤1000),表示每名运动员的力量值。注意 si 不一定互不相同。
输出格式
对每个测试用例输出一行一个整数,表示在最优划分下的最小值 ∣max(A)−min(B)∣。
样例
输入
5
5
3 1 2 6 4
6
2 1 3 2 4 3
4
7 9 3 1
2
1 1000
3
100 150 200
输出
1
0
2
999
50
说明
第二组样例中,一种最优划分为 A=[2,1],B=[3,2,4,3],因此答案为 ∣2−2∣=0。