C. 小静的考验

    传统题 文件IO:xiaojing 1000ms 256MiB

小静的考验

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Background

这是小静给你的考验。

Description

小静从老师那里得到了一个长度为nn的数组,她认为数组能够不递减是非常好的数组。左思右想之后,她发现老师给的数组并不都是不递减的,她想到了一个改变数组的操作:

  • 从数组aa中选择一个元素aia_i和一个整数xx,使得1x<ai1 \leq x \lt a_i.然后,用数组aa中的两个元素x,aixx, a_i - x替换aia_i。新的这两个元素将以此加入到数组中。

    更具体的说,让a1,a2,...,ai,...,aka_1,a_2,...,a_i,...,a_k变成a1,a2,...,ai1,x,aix,ai+1,...,aka_1,a_2,...,a_{i-1},x,a_i-x,a_{i+1},...,a_k。需要注意的是,每次操作后,数组的长度都会增加11.

小静可以多次(可能是零次)执行上述操作。小静希望你计算出她至少要执行多少次操作才能使数组不递减

这也算是她对你的考验吧。

Format

Input

输入

每个测试包含多个测试用例。第一行包含测试用例的数量 tt ( 1t100001 \leq t \leq 10000 )。测试用例说明如下。

每个测试用例的第一行都包含一个整数 nn ( 1n21051\leq n\leq 2\cdot 10^5 ) - 数组的长度 aa

每个测试用例的第二行包含 nn 个整数 a1,a2,...,ana_1, a_2, ..., a_n ( 1ai1091\leq a_i\leq 10^9 ) - 数组 aa

保证所有测试用例中 nn 的总和不超过 21052\cdot 10^5

Output

输出

对于每个测试用例,输出一个整数 - 使数组不递减所需的最少操作数。

可以证明,在有限的操作次数内,总是可以使数组 aa非递减的。

Samples

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

Limitation

对于20%的数据,nn 不会超过100100.

对于100%的数据,满足上文的输入描述。

在第一个测试用例中,小静可以用整数 1122 替换数组 aa 的第二个元素,这样数组就变成了 [1,1,2,2][ 1, \underline{1}, \underline{2}, 2 ] 。只需要进行 11 操作。

在第二个测试案例中,数组 aa 已经是非递减数组,所以答案是 00

在第三个测试案例中,小静可以通过 33 次运算使数组 aa 非递减,如下所示。

  • 选择 i=1i=1x=2x=2 并用 2211 替换 a1a_1 。数组 aa 就等于 [2,1,2,1][ \underline{2}, \underline{1}, 2, 1 ]
  • 选择 i=3i=3x=1x=1 并用 1111 替换 a3a_3 。数组 aa 就等于 [2,1,1,1,1][2, 1, \underline{1}, \underline{1}, 1 ]
  • 选择 i=1i=1x=1x=1 ,用 2211 替换 a1a_1 。数组 aa 就等于 [1,1,1,1,1,1][\underline{1}, \underline{1}, 1, 1, 1, 1 ]

可以证明在 22 或更少的运算中不可能使数组 aa 非递减,因此答案是 33

DAY13 数学专题复现赛

未参加
状态
已结束
规则
XCPC
题目
5
开始于
2024-7-23 13:30
结束于
2024-9-3 4:30
持续时间
999 小时
主持人
参赛人数
21