题目描述
Liji 和 Belinra 有 n 件物品想分配,于是他们决定玩一个游戏。所有物品都有成本,i-th 物品的成本是 ai。游戏从 Liji 开始轮流移动(Liji 先操作 Belinra 后操作,然后 Liji 操作 ……)。
在每一轮中,玩家从剩下的物品中选择一件并拿走,游戏一直进行到没有物品为止。假设 A 是 Liji 拿走物品的总成本,B 是 Belinra 拿走物品的总成本。游戏的得分就等于 A - B。Liji 希望分数最大化,而 Belinra 希望分数最小化。Liji 和 Belinra 都将以最优方式进行博弈。
但是游戏将在明天进行,所以今天 Belinra 可以稍微修改一下物品的成本。他可以将几项(可能一项都不增加,也可能全部增加)物品的成本 ai 增加一个整数值(可能增加相同的值,也可能每项增加不同的值)。但是,增加的总金额必须小于或等于 k 。否则,Liji 可能会怀疑。请注意,Belinra 不能减少成本,只能增加成本。Belinra 可能获得的最低分数是多少?
在每一轮中,玩家从剩下的物品中选择一件并拿走,游戏一直进行到没有物品为止。假设 A 是 Liji 拿走物品的总成本,B 是 Belinra 拿走物品的总成本。游戏的得分就等于 A - B。Liji 希望分数最大化,而 Belinra 希望分数最小化。Liji 和 Belinra 都将以最优方式进行博弈。
但是游戏将在明天进行,所以今天 Belinra 可以稍微修改一下物品的成本。他可以将几项(可能一项都不增加,也可能全部增加)物品的成本 ai 增加一个整数值(可能增加相同的值,也可能每项增加不同的值)。但是,增加的总金额必须小于或等于 k 。否则,Liji 可能会怀疑。请注意,Belinra 不能减少成本,只能增加成本。Belinra 可能获得的最低分数是多少?
输入
第一行包含一个整数 t(1 ≤ t ≤ 100),代表测试用例数。
每个测试用例的第一行包含两个整数 n 和 k(1 ≤ n ≤ 2 × 105,0 ≤ k ≤ 109),分别代表物品数和 Belinra 能增加的最大总数;
每个测试用例的第二行包含 n 个整数 a1,a2,……,an(1 ≤ ai ≤ 109),代表每个物品的初始成本。
保证所有测试用例中 n 的总和不超过 2 × 105。
每个测试用例的第一行包含两个整数 n 和 k(1 ≤ n ≤ 2 × 105,0 ≤ k ≤ 109),分别代表物品数和 Belinra 能增加的最大总数;
每个测试用例的第二行包含 n 个整数 a1,a2,……,an(1 ≤ ai ≤ 109),代表每个物品的初始成本。
保证所有测试用例中 n 的总和不超过 2 × 105。
输出
每个测试用例输出占一行,包含一个整数,代表 Belinra 在增加了几个物品的成本后,得到的最低分数 A - B。
样例输入 Copy
4
2 5
1 10
3 0
10 15 12
4 6
3 1 2 4
2 4
6 9
样例输出 Copy
4
13
0
0