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$。