P0482

[Baltic2009]beetle

[Baltic2009]beetle

在一条直线上有 nn 个点,每个点上有 mm 升水。

一只虫子在坐标轴的 00 点上,它每个单位时间移动一格;每个点上的水每单位时间蒸发 11 升(水量最少为 00)。

虫子到达某个点时可以把该点剩余的水全部喝掉,喝水的时间忽略不计。问虫子最多可以喝到多少水。

输入格式

第一行给出两个整数 n,mn, m。

接下来 nn 行,每行一个整数 xix_i,表示第 ii 个点的坐标。

输出格式

输出一个整数,表示最多可以喝到多少水。

样例输入

3 15
6
-3
1

样例输出

25

样例解释

虫子开始在 00 点,它先到坐标 11 这个点喝水(此时时刻为 11,喝到 15−1=1415-1=14 升),再到 −3-3(时刻为 55,喝到 15−5=1015-5=10 升),再到 66(时刻为 1414,喝到 15−14=115-14=1 升),共 14+10+1=2514+10+1=25 升。

数据范围

  • 0≤n≤3000\le n\le 300;
  • 1≤m≤1061\le m\le 10^6;
  • −104≤xi≤104-10^4\le x_i\le 10^4。

来源与许可

本题为 Baltic 2009 试题「beetle」,题面与测试数据整理自 BZOJ 1761。

样例 1

输入

3 15
6
-3
1

输出

25