CF2004C.Splitting Items

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Splitting Items

题目描述

Alice 和 Bob 有 nn 个数,第 ii 个数为 aia_i,他们决定玩一个游戏取走这些数。

游戏由 Alice 开始取数。

每一次玩家都可以拿走一个剩下的数,直到没有数字可拿走。

定义 AA 是 Alice 获取的数字和,BB 是 Bob 获取的数字和,游戏总分 p=ABp = A - B

Alice 希望最大化 pp,Bob 希望最小化 pp,他们都绝顶聪明。

现在 Bob 拥有了修改数的权限,可以把一些数字(可以没有,也可以没有全部)增加一个整数值(可以增加不同的值),但是这样 Alice 可能会起疑心,所以总增加的数值必须小于等于 kk

请求出 Bob 能达到的 pp 的最小值。

输入格式

本题有多组数据。

首先输入一个整数 t(1t5000)t (1 \le t \le 5000),表示数据组数。

对于每一组数据,第一行输入两个整数 $n, k (2 \le n \le 2 \times 10 ^ 5, 0 \le k \le 10 ^ 9)$,含义如题意描述。

注意到所有数据的 nn 总和不大于 2×1052 \times 10 ^ 5

下一行输入 nn 个整数 a1,a2,,an(1ai109)a_1, a_2, \cdots, a_n (1 \le a_i \le 10 ^ 9),表示每个数的值。

输出格式

对于每组数据输出一个整数表示答案。

样例

4
2 5
1 10
3 0
10 15 12
4 6
3 1 2 4
2 4
6 9
4
13
0
0

在线编程 IDE

建议全屏模式获得最佳体验