CF2187A.Restricted Sorting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的数组 a。对于一个整数 k,如果可以通过任意多次(也可以不进行)以下操作将 a 排序为非降序,则称该整数是「piggy」的:
- 首先,选择两个下标 i 和 j(1≤i<j≤n),使得 ∣ai−aj∣≥k;
- 然后交换 ai 和 aj。
你需要确定最大的「piggy」整数 k。如果不存在这样的整数,输出 −1。
输入格式
每组输入包含若干组测试数据。第一行为测试组数 t(1≤t≤104)。各组测试数据描述如下:
每组测试数据的第一行包含一个整数 n(1≤n≤2⋅105) — 数组 a 的长度。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)— 数组 a 的元素。
保证所有测试数据中 n 的总和不超过 2⋅105。
输出格式
对于每组测试数据,输出一个整数,表示最大的「piggy」整数 k。
如果不存在这样的整数,输出 −1。
输入输出样例
输入#1
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 -1 2 2 3
说明/提示
在第一和第二组测试数据中,无论 k 多大,都可以选择不进行任何操作,即可将 a 排序为非降序。
在第三组测试数据中,最大的「piggy」整数 k 为 2。我们可以在第一次操作时选择 i=2 和 j=3,因为 ∣a2−a3∣=∣4−2∣=2≥k,此时 a 即可按非降序排列。可以证明不存在更大的「piggy」整数。