#CF3722. 让他增加
让他增加
题目描述
给定 个整数 。你可以对它们执行以下操作:
选择任何元素 ,并将其除以 2
(向下取整)。换句话说,你可以用值 (其中 是向下取整 )替换任何选择的元素 。
输出必须进行的操作的最小数量,使得整数序列变得严格递增(即满足 的条件)。或者确定无法获得这样的序列。请注意,不能交换元素。唯一可能的操作如上所述。
输入格式
输入的第一行包含一个整数 -输入中测试用例的数量。
接下来是测试用例的描述。
每个测试用例的第一行包含一个整数 。
每个测试用例的第二行恰好包含 个整数 。
输出格式
对于每个测试用例,在单独的一行上输出一个数字,表示需要执行的最少操作数,使得序列变为严格递增。如果无法获得严格递增序列,则打印 -1
。
测试样例
7
3
3 6 5
4
5 3 2 1
5
1 2 3 4 5
1
1000000000
4
2 8 7 5
5
8 26 5 21 10
2
5 14
2
-1
0
0
4
11
0
样例说明
第一个测试用例已在题目描述中分析。
第二个测试用例无法得到严格递增的序列。
第三个测试用例已经是严格递增的序列了。