#P10455. Genius Acm

Genius Acm

题目描述

Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturers in the world. 每天,该公司生产 nn 台 CPU 并销售到世界各地。

ACM 公司的质检部门会对生产出的 CPU 进行成组测试,对一组(若干个)CPU 进行测试的方法如下:

  1. 随机从该组 CPU 中选取 mm 对(即 2m2m 台),若总数不足 2m2m 台,则选取尽量多对。

  2. 对于每一对 CPU,测量它们之间的 Relative Performance Difference (RPD),并把第 ii 对的 RPD 记为 DiD_i。RPD 的计算方法在后面给出。

  3. 该组 CPU 的 Sqared Performance Difference (SPD) 由以下公式给出:

SPD=iDi2SPD=\sum _i D^2_i

  1. 该组 CPU 通过质检,当且仅当 SPDk,SPD \le k, 其中 kk 是给定常数。

ACM 公司生产的 CPU 性能很好,而质检部门制定的标准更是过于严格。通常他们把 nn 台 CPU 作为一整组进行测试,这导致一些性能良好的 CPU 无法通过测试,生产部门对此颇有微词。作为质检部门的领导,小 S 在不更改质检测试流程的前提下,想出了这样一个主意:如果能够把 nn 台 CPU 恰当地分成连续的若干段,使得每段 CPU 都能够通过成组测试,就可以解决当下的问题。

现在,小 S 已经知道了 nn 台各自的性能表现 P1,,PnP_1,\cdots ,P_n,两台 CPU 的 RPD 被定义为它们性能表现的差的绝对值。请你帮忙计算一下,至少把这些 CPU 分成多少段,才能使得每一段都能通过成组测试。

输入格式

每个测试点包含多组数据,第一行整数 TT 给出数据组数。

对于每组数据,第一行三个整数 n,m,kn,m,k,第二行 nn 个整数 P1,,PnP_1,\cdots ,P_n

输出格式

对于每组数据,输出一个整表示答案。

2
5 1 49
8 2 1 7 9
5 1 64
8 2 1 7 9
2
1

提示

对于 20%20 \% 的数据,1n1021 \leq n \leq 10^2
对于 40%40 \% 的数据, 1n1031 \leq n \leq 10^3
对于另外 10%10 \% 的数据,k=0k=0
对于另外 10%10 \% 的数据,0k10 \leq k \leq 1
对于另外 10%10 \% 的数据, m=1m=1
对于另外 10%10 \% 的数据,1m21 \leq m \leq 2
对于 90%90 \% 的数据,0k10120 \leq k \leq 10^{12}
对于 100%100 \% 的数据,$T \leq 12,1 \leq n, m \leq 5 \cdot 10^5, 0 \leq k \leq 10^{18}, 0 \leq P_i \leq 2^{20}$ 。