U401371 糖果(Candies)
题目背景
$Alice$ 和 $Bob$ 正在分糖果。
题目描述
目前桌面上共有 $n$ 堆糖果,每堆糖果的颗数给出。开始分糖果时,首先由 $Alice$ 在所有的糖果堆里面选择一堆,并拿走这堆的所有糖果。接下来二人轮流进行取糖果的操作,每次取糖果的操作都需要遵循以下规则:
1. $Alice$ 取的第一堆糖果数不能超过 $MAX$。
2. 选择还存在的一个糖果堆并拿走这堆的所有糖果。
3. 选择糖果堆中糖果的颗数必须大于上一轮被取走的糖果数。
4. 选择糖果堆中糖果的颗数与上一轮被取走的糖果数之差不能超过 $MAX$。
5. 只要存在还能够选择的糖果堆,就必须进行拿走糖果堆的操作。只有无法进行操作了,才停止这个过程。
6. 设 $Alice$ 最终得到的糖果总数为 $X$,$Bob$ 最终得到的糖果总数为 $Y$。$Alice$ 想要最大化 $X - Y$,bob想要最大化 $Y - X$。假设他们都采取最优策略,请你计算最终的 $X - Y$。
输入格式
第一行两个数 $n$,$MAX$。
接下来一行 $n$ 个数,分别表示每堆糖果的颗数。保证存在 $\leq MAX$ 的糖果堆。
输出格式
输出一行一个数,表示最终的 $X - Y$。
说明/提示
$n \leq 1000$。
每堆的糖果颗数 $\leq 1000$。