#CF2042A. 贪婪的莫诺卡普

贪婪的莫诺卡普

A. 贪婪的莫诺卡普
时间限制:2 秒
内存限制:512 MB

nn 个宝箱;第 ii 个宝箱最初有 aia_i 枚硬币。
对于每个宝箱,你可以选择添加任意非负整数(00 或更大)数量的硬币,但有一个限制:所有宝箱中的硬币总数必须至少为 kk

在你完成向宝箱中添加硬币后,贪婪的莫诺卡普前来,他想要这些硬币。他将一个一个地拿走宝箱,由于他很贪婪,他每次都会选择硬币数量最多的宝箱。
莫诺卡普会在拿走的宝箱中的硬币总数至少为 kk 时立刻停止。

你希望莫诺卡普拿走的硬币尽可能少,因此你需要通过添加硬币,使得当莫诺卡普停止拿宝箱时,他拿到的硬币总数恰好等于 kk
请计算你需要添加的最少硬币数量

输入
第一行包含一个整数 tt1t10001 \le t \le 1000)—— 测试用例的数量。
每个测试用例包含两行:

  • 第一行包含两个整数 nnkk1n501 \le n \le 501k1071 \le k \le 10^7);
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1aik1 \le a_i \le k)。

输出
对于每个测试用例,输出一个整数 —— 使莫诺卡普拿走恰好 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 枚硬币。
  • 在第二个测试用例中,你可以向第 44 个宝箱添加 11 枚硬币,这样莫诺卡普会先拿一个 44 枚硬币的宝箱,再拿另一个 44 枚硬币的宝箱,最后拿一个有 22 枚硬币的宝箱。
  • 在第三个测试用例中,你可以向第 11 个宝箱添加 33 枚硬币,向第 22 个宝箱添加 55 枚硬币。
  • 在第四个测试用例中,你可以向第 11 个宝箱添加 11 枚硬币,向第 33 个宝箱添加 11 枚硬币。