第一行输入一个整数 ,表示测试数据组数。第一行输入一个整数 ,表示数组长度。第二行输入 个正整数 ,表示初始数组。保证所有测试数据中, 的总和不超过 。
对于每组测试数据,输出一个整数,表示最少需要多少次操作;如果无法变成非递减数组,则输出 。
4 4 99 10 10 10 3 100 19 10 2 29 1 5 1 2 3 3 9
2 2 -1 0
对于第一组数据,只需要对第一个数操作两次: 。 。最终数组变成 ,答案为 。对于第二组数据,可以先把 变成 ,再把 变成 ,最终得到 ,答案为 。对于第三组数据, 最多只能继续变成 ,再变成 ,但最后仍有 ,因此无解。对于第四组数据,原数组本身已经是非递减的,所以答案为 。