#P4839. 电灯开关
电灯开关
Description
有一个由 n 个房间组成的公寓,每个房间的灯最初都是关着的。为了控制这些房间的灯光,公寓的主人决定在房间里安装芯片,这样每个房间正好有一个芯片,芯片安装在不同的时间。具体来说,这些时间由数组 a1,a2,……an 表示,其中 ai是在第i房间安装芯片的时间(分钟)。
芯片安装后,每隔k分钟就会改变房间的灯光状态--在 k分钟内打开灯光,然后在接下来的k 分钟内关闭灯光,再在接下来的 k 分钟内重新打开灯光,以此类推。换句话说,在 第i个房间的 ai 、 ai+k 、ai+2k 、 ai+3k 、…… 分钟时,芯片会改变灯光状态。
公寓里所有房间最早亮灯的时刻是什么时候?
Input Format
第一行包含t (1 ≤ t ≤ 10^4) - 测试用例的数量。每个测试用例的第一行包含两个整数n和k (1 ≤ k≤ n ≤ 2·10^5) - 分别代表公寓房间数和芯片周期。
每个测试用例的下一行包含n个整数a[1], a[2], ..., a[n] (1 ≤ a[i] ≤ 1e9) 分别表示安装芯片的时刻。
可以保证在所有测试用例中,n的总和不超过2·10^5。
在第一个测试案例中,所有灯都将在 5 分钟前亮起,而芯片不会关闭任何一盏灯。答案是 5 。
在第二个测试案例中,由于 k=3 ,第一个房间的灯将在 2, 3, 4, 8, 9, 10, 14, …… 分钟时亮起;同时, 第四个房间的灯将在 5, 6, 7, 11, 12, 13, 17, …… 分钟时亮起。这两个序列没有共同的数字,所以它们永远不会同时亮起。
Output Format
对于每个测试用例,打印一个整数表示问题的答案(以分钟为单位)。如果不存在所有房间都开灯的时刻,则打印-1。9
4 4
2 3 4 5
4 3
2 3 4 5
4 3
3 4 8 9
3 3
6 2 1
1 1
1
7 5
14 34 6 25 46 7 17
6 5
40 80 99 60 90 50
6 5
64 40 50 68 70 10
2 1
1 10000000005
-1
10
8
1
47
100
-1
-1
Hint
在第一个测试案例中,所有灯都将在 5 分钟前亮起,而芯片不会关闭任何一盏灯。答案是 5 。在第二个测试案例中,由于 k=3 ,第一个房间的灯将在 2, 3, 4, 8, 9, 10, 14, …… 分钟时亮起;同时, 第四个房间的灯将在 5, 6, 7, 11, 12, 13, 17, …… 分钟时亮起。这两个序列没有共同的数字,所以它们永远不会同时亮起。