#CXSJDS10307. Greedy Monocarp

    ID: 9314 Type: Default 1000ms 256MiB Tried: 18 Accepted: 4 Difficulty: 6 Uploaded By: Tags>程序设计大赛第三届程序设计大赛第三届程序设计大赛-高级组

Greedy Monocarp

出题人

计科233徐光曌

题目描述

有n个箱子;第i个箱子最初包含ai枚硬币。对于每个箱子,您可以选择任何非负(0或更大)数量的硬币添加到该箱子中,但有一个限制:所有箱子中的硬币总数必须至少为k。

在你把硬币添加到箱子里之后,贪婪的单果果来了,他想要硬币。他会一个接一个地拿走箱子,既然他很贪婪,他总是会选择硬币数量最多的箱子。单果果会在他拿走箱子里的硬币总数至少为k时停止。

你想让Monocarp拿走尽可能少的硬币,所以你必须以这样一种方式向箱子中添加硬币,当Monocarp停止拿箱子时,他将有k个硬币。计算你必须添加的最小硬币数量。

输入

第一行输入t表示有几组数据 每个测试样例由两行组成:

1.第一行包含两个整数 n, k(1≤n≤50, 1≤k≤1e7)

2.第二行包含n个整数,

输出

对于每个测试用例,打印一个整数 — 您必须添加的最小硬币数量,这样,当 Monocarp 停止拿箱子时,他有完全k硬币。可以证明,在问题的约束下,它总是可能的。

Samples

4
5 4
4 1 2 3 2
5 10
4 1 2 3 2
2 10
1 1
3 8
3 3 3
0
1
8
2

Limitation

在示例的第一个测试用例中,您不必添加任何硬币。当Monocarp 到达时,他会带着箱子4硬币,所以他将恰好拥有4 硬币。

在示例的第二个测试用例中,您可以添加1硬币兑换成4-th 箱子,所以,当 Monocarp 到达时,他会带一个箱子4 硬币,然后是另一个带有4硬币和带有2硬币。

1s, 1024KiB for each test case.