#CF2112B. 缩数组

缩数组

B. 缩数组
每次测试时间限制:2 秒
内存限制:256 兆字节

如果一个数组 bb 包含至少两个元素,并且存在一个位置 ii 使得 bibi+11|b_i - b_{i+1}| \le 1(其中 x|x| 表示 xx 的绝对值),则称数组 bb美丽的

你有一个数组 aa。只要它的元素个数至少为 22,你就可以执行以下操作:

  1. 选择数组 aa 中相邻的两个位置 iii+1i+1
  2. 选择一个整数 xx,满足 min(ai,ai+1)xmax(ai,ai+1)\min(a_i, a_{i+1}) \le x \le \max(a_i, a_{i+1})
  3. 从数组中删除数字 aia_iai+1a_{i+1},并在它们的位置插入数字 xx
    显然,数组的大小会减少 11

计算使数组变成美丽所需的最少操作次数,如果不可能则报告 1-1


输入
第一行包含一个整数 tt1t2001 \le t \le 200)——测试用例的数量。
每个测试用例的第一行包含一个整数 nn2n10002 \le n \le 1000)——数组 aa 的大小。
第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1061 \le a_i \le 10^6)——数组 aa 的元素。


输出
对于每个测试用例,输出一个整数——使数组变为美丽所需的最少操作次数,如果不可能则输出 1-1


示例
输入

4
4
1 3 3 7
2
6 9
4
3 1 3 7
4
1 3 5 2

输出

0
-1
1
1

说明

  • 第一个测试用例中,给定数组已经是美丽的,因为 a2a3=33=0|a_2 - a_3| = |3-3| = 0
  • 第二个测试用例中,无法使数组变得美丽,因为执行操作后数组大小会小于 22
  • 第三个测试用例中,可以选择 a1a_1a2a_2,将它们替换为数字 22,得到数组 [2,3,7][2,3,7],它是美丽的。
  • 第四个测试用例中,可以选择 a2a_2a3a_3,将它们替换为数字 33,得到数组 [1,3,2][1,3,2],它是美丽的。