#qm08. 限制排序
限制排序
题目背景:
小陶最近对数组排序产生了浓厚的兴趣。他这次拿到了一个长度为 的数组 (数组中的元素可能包含重复数字,且不一定连续)。
题目描述:
小陶发现,如果给定一个限制整数 ,他可以对这个数组进行一种“受限交换”操作:
- 每次操作时,小陶可以任选两个下标 和 。
- 只有当这两个位置上的数值之差的绝对值满足 时,小陶才能交换这两个数。
如果小陶可以通过有限次(包括零次)这样的操作,将数组 A 变为非降序排列(即 ),那么我们就称 是一个“可行的限制值”。小陶想知道,在所有可行的限制值 中,最大的是多少?
输入格式:
输入第一行给出一个正整数 ,表示测试用例的数量。 每个测试用例包含两行: 第一行包含一个整数 ,表示数组的长度。 第二行包含 n 个由空格隔开的整数 ,表示数组的元素。 数据保证所有测试用例的 之和不超过 。
输出格式:
对于每个测试用例,在一行中输出最大的可行限制值 。如果 可以为任意大的正整数(即排列本身已经有序),请输出 。
输入样例:
5
1
1
5
1 2 3 4 5
3
1 4 2
5
2 1 5 4 3
6
1 1 4 5 1 4
输出样例:
-1
-1
2
2
3