seuOJ480 - 至少一半要相等

题目描述

"There are as many even numbers as natural numbers."

现在有一个长度为 nn(nn为偶数) 的序列,该序列中数字互不相同,你需要选择一个正整数 kk,然后对序列中任意一个数字 aia_i 执行任意次如下操作:

ai=aika_i=a_i-k

在一定次数的该操作后,你需要使序列中至少一半的数字相等,请问 kk 的最大值是多少,如果 kk 可以无限大,则输出 00

输入格式

第一行,一个整数 t(1t100)t(1\le t \le 100)
对于每组数据:
第一行,一个整数 n(2n5000)n(2\le n \le 5000)nn 是一个偶数,代表序列长度。
接下来一行,一个长度为 nn 的序列 aa,该序列中数字互不相同,其中的每个数字 1ai1061\le a_i \le 10^6

保证在同一测试点内的 n5000\sum n \le 5000

输出格式

对于每组数据,输出一行代表可行的 kk 的最大值,如果 kk 可以无限大,则输出 00

样例

输入样例

3
6
1 2 3 4 5 6
2
1 10 
8
1 5 4 9 8 13 12 11 

输出样例

2
0
4

提示
在样例的第 33 组数据中,我们按照以下下标的顺序操作序列中的数组,使得它们分别减去 44
选择 i=2i=2,序列变为 [1,1,4,9,8,13,12,11][1,1,4,9,8,13,12,11]
选择 i=4i=4,序列变为 [1,1,4,5,8,13,12,11][1,1,4,5,8,13,12,11]
继续选择 i=4i=4i=6i=6i=6i=6i=6i=6,最终序列变为 [1,1,4,1,8,1,12,11][1,1,4,1,8,1,12,11],此时序列中存在 4411,满足序列中至少一半的数字相等的要求。可以证明的是,如果选择大于 44 的其它数字,不可能在有限次操作内使得序列中至少一半的数字相等。