CF1706D2 Chopping Carrots (Hard Version)
题目描述
这是该问题的困难版本。两个版本间的区别仅为 $n$、$k$、$a_i$ 和 $\sum n$ 的上界。
注意不正常的空间限制。
给出长度为 $n$ 的整数数组 $ a_1, a_2, \ldots, a_n $,以及一个整数 $k$。
一个长度为 $n$ 的整数数组 $ p_1, p_2, \ldots, p_n $ 的花费为 $\max\limits_{1 \le i \le n}\left(\left \lfloor \frac{a_i}{p_i} \right \rfloor \right) - \min\limits_{1 \le i \le n}\left(\left \lfloor \frac{a_i}{p_i} \right \rfloor \right)$。
此处,$ \lfloor \frac{x}{y} \rfloor $ 表示 $x$ 除以 $y$ 的整数部分。
请找到花费最小的数组 $p$,且满足对任意 $ 1 \le i \le n$ 都有 $ 1 \le p_i \le k $。
输入格式
第一行包括一个整数 $t$($ 1 \le t \le 100 $),表示接下来测试组的数量。
对于每一个测试组,第一行包括两个整数 $n$ 和 $k$($ 1 \le n, k \le 10^5 $)。
对于每一个测试组,第二行包括 $n$ 个整数 $ a_1, a_2, \ldots, a_n $($ 1 \le a_1 \le a_2 \le \ldots \le a_n \le 10^5 $)。
保证 $\sum n \le 10^5$。
输出格式
对于每一个测试组,输出一个整数,表示满足上述条件的数组 $p$ 的花费的最小值。
## 样例 #1
### 样例输入 #1
```
7
5 2
4 5 6 8 11
5 12
4 5 6 8 11
3 1
2 9 15
7 3
2 3 5 5 6 9 10
6 56
54 286 527 1436 2450 2681
3 95
16 340 2241
2 2
1 3
```
### 样例输出 #1
```
2
0
13
1
4
7
0
```
说明/提示
在第一个测试组中,最优的数组是 $ p = [1, 1, 1, 2, 2] $。
$ \lfloor \frac{a_i}{p_i} \rfloor $ 得到的结果数组为 $ [4, 5, 6, 4, 5] $。
数组 $p$ 的花费为 $ \max\limits_{1 \le i \le n}(\lfloor \frac{a_i}{p_i} \rfloor) - \min\limits_{1 \le i \le n}(\lfloor \frac{a_i}{p_i} \rfloor) = 6 - 4 = 2 $。
可以证明,没有(满足题目条件的)数组的花费更小。
在第二个测试组中,最优的数组之一为 $ p = [12, 12, 12, 12, 12] $,它使得所有的 $ \lfloor \frac{a_i}{p_i} \rfloor $ 的值都为 $0$。
在第三个测试组中,唯一可能的数组为 $ p = [1, 1, 1] $。