#A666P231. 贪心的小博

贪心的小博

题目描述

nn 个宝箱,第 ii 个宝箱有 aia_i 枚金币。对于每个宝箱,你可以加入任意非负整数枚金币,最终使得所有宝箱中金币的总数不小于 kk

在你加入金币之后,贪心的小博会来取金币。他会一个一个地取走宝箱,每次取走金币最多的宝箱,直到他取走金币的总数至少为 kk

你希望小博取走尽量少的金币,因此你需要给宝箱增加一定数量的金币,使得小博恰好取走 kk 枚金币。请计算你必须添加的最少硬币数量。

输入格式

从文件 coin.in 中读入数据。
第一行,一个整数 tt ,表示测试数据组数。

对于每组数据,输入两行:

第一行,两个整数 n,kn,k

第二行,nn 个整数,a1,a2,,ana_1,a_2,\cdots ,a_n

输出格式

输出到文件 coin.out 中。
对于每组数据,输出一个整数,表示使小博拿走恰好 kk 枚金币,至少需要额外加入多少枚金币。(数据保证题目一定有解)。

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

样例解释

在示例的第一个测试用例中,您不必添加任何硬币。当小博到达时,他将拿走装有 44 个硬币的箱子,因此他将拥有恰好 44 个硬币。

在示例的第二个测试用例中,您可以将 11 个硬币添加到第 44 个箱子中,因此,当小博到达时,他将拿走一个装有 44 个硬币的箱子,然后拿走另一个装有 44 个硬币的箱子,以及一个装有 22 个硬币的箱子。

在示例的第三个测试用例中,您可以将 33 个硬币添加到第 11 个箱子中,将 55 个硬币添加到第 22 个箱子中。

在示例的第四个测试用例中,您可以将 11 枚硬币添加到第 11 枚箱子中,将 11 枚硬币添加到第 33 枚箱子中。

数据范围

对于40%40\%的数据满足,1n50,1aik1071\le n\le 50,1\le a_i\le k \le 10^7

对于100%100\%的数据满足,1n,t1000,1aik10181\le n,t\le 1000,1\le a_i\le k \le 10^{18}