4486: 公交通勤

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

Nanarikom 正在通过 548 路公交通勤。

Nanarikom 喜欢在均匀随机的时间抵达公交站。规划上,548 路公交在始发站的发车间隔为固定的 tt 分钟,容易发现此时 Nanarikom 的期望等车时间为 E = \frac{t}{2}E=2t;但实际上,由于车况等因素的影响,548 路公交并非均匀地每 tt 分钟到达 Nanarikom 所在站点。记第一趟车在第 00 分钟到达,则后续的 nn 趟车将分别在第 a_1, a_2, \dots, a_{n - 1}, nta1,a2,,an1,nt 分钟到达,且其后每 nn 趟车的到达时间以相同的偏移量和相同的周期(ntnt 分钟)而循环。

Nanarikom 注意到,某些等车区间相较更长,而这就意味着有更大的概率落入更长的等车区间,因此,实际上,Nanarikom 的期望等车时间 E \geq \frac{t}{2}E2t,并且只在 a_i = itai=it 时取等。

现在,Nanarikom 可以进行修改道路规划的操作以改变 aa 序列。其中,每次操作可以在 [1, n - 1][1,n1] 中选择 ii,然后指定以下两种结果中的一种:

  • 对于指定的 ii,将 a_iai 修改为 \min(n \cdot t, a_i + 1)min(nt,ai+1)
  • 对于指定的 ii,将 a_iai 修改为 \max(0, a_i - 1)max(0,ai1)

为了方便通勤,Nanarikom 想知道,进行不多于 mm 次操作后,可以得到的最小期望等车时间是多少。为简化运算,你只需要告知 Nanarikom 将答案乘 2nt2nt 后的结果。

你需要回答 Nanarikom 的 TT 组询问。


输入格式

第一行包含一个整数 TT1 \leq T \leq 101T10),代表测试数据组数。对于每组测试数据:

  • 第一行包含三个整数 ttnnmm1 \leq n \leq 201n201 \leq nt \leq 601nt600 \leq m \leq 1000m100),分别代表发车间隔、一时间周期内的车次数、至多可以操作的次数。
  • 第二行包含 n-1n1 个整数 a_1, a_2, \dots, a_{n-1}a1,a2,,an10 \leq a_1 \leq a_2 \leq \dots \leq a_{n-1} \leq nt0a1a2an1nt),分别代表一时间周期内每班车的到达时间。

输出格式

对于每组测试数据,输出一行一个整数,代表可以得到的最小期望等车时间。

输入样例 复制

2
30 2 5
15
10 6 40
5 10 15 30 45

输出样例 复制

2000
602