seuOJ482 - 不减的数组

题目描述

DingDing 给了你一个长度为 nn 的数组 aa 和一个大于 11 的正整数 kk,你可以对数组 aa 中任何一个元素进行任意次如下操作:

ai:=aika_i:=\lfloor \frac{a_i}{k}\rfloor

其中 b\lfloor b\rfloor 的意思是对于 bb00 取整,例如 73=2\lfloor \frac{7}{3}\rfloor=243=1\lfloor -\frac{4}{3}\rfloor=-1

他想问你,要使得数组单调不减,你最少需要使用多少次操作。

输入格式

第一行,一个整数 t(1t104)t(1\le t \le 10^4) ,代表数据组数。

对于每组数据:
第一行,两个整数 n,k(1n2105;2k109)n,k(1\le n \le 2·10^5;2\le k \le 10^9),代表数组 aa 的长度。
第二行,一个长度为 nn 的数组 aa,数组中每个数字 aia_i 满足 109ai109-10^9\le a_i\le 10^9

保证在同一测试点内的 n2105\sum n\le 2·10^5

输出格式

对于每组数据,输出一行整数代表你使得数组单调不减的最少操作次数。

事实上,可以证明,在有限的操作次数内,一定存在一种方式,使得数组最后单调不减。

样例

输入样例

3
5 2
-7 0 1 3 4
4 3
1 7 3 2
5 100
99 -98 101 0 -100

输出样例

0
4
6

提示
在样例第 22 组数据中对下标为 11 的数字操作 11 次,对下标为 22 的数字操作 22 次,对下标为 33 的数字操作 11 次,数组最后变成 [0,0,1,2][0,0,1,2]