题目描述
给定一个由 n 个非负整数组成的数组a。我们定义f(a,x)=[a1 mod x,a2 mod x,…,an mod x],其中x是正整数。找到最大的x,使得f(a,x)是一个回文数组。
这里,a mod x 表示 a 除以 x 的余数。
如果一个数组 a 的长度为 n,并且对于每个i(1 ≤ i ≤ n),都有 ai = an−i+1,那么这个数组a就是一个回文数组。
(Wangy:回文数组,你的一举一动,一颦一笑都是嫩么的美)
输入
第一行一个正整数T,表示有T组数据。
每组测试测试数据第一行一个正整数 n,表示数组大小。
第二行 n 个正整数,表示数组a。
(1 <= T <= 100),(1 <= n <= 105),(1 <= ai <= 109)
输出
对于每个测试用例,输出最大的x,使得f(a,x)是一个回文数组。特别的,如果x可以无限大,则输出0。
4
2
1 2
8
3 0 1 2 0 3 2 1
1
0
3
100 1 1000000000
提示
在第一个示例中,f(a,x=1)=[0,0]是一个回文数组。
在第二个示例中,f(a,x=2)=[1,0,1,0,0,1,0,1]是一个回文数组。
可以证明,在这两个示例中,不存在更大的x满足条件。
在第三个示例中,对于任何x,都有f(a, x)=[0],因此我们可以选择x无限大,所以答案是0。