#arc064a. [arc064_a]Boxes and Candies

[arc064_a]Boxes and Candies

题目描述

NN 个盒子排成一行。初始时,从左边开始的第 ii 个盒子内有 aia_i 颗糖果。

Snuke 可以进行以下操作任意次数:

  • 选择一个至少含有一颗糖果的盒子,并吃掉其中一颗糖果。

他的目标是:

  • 任意相邻的两个盒子总共最多含有 xx 颗糖果。

找到达到目标所需的最少操作次数。

约束条件

  • 2N1052 ≤ N ≤ 10^5
  • 0ai1090 ≤ a_i ≤ 10^9
  • 0x1090 ≤ x ≤ 10^9

输入

输入以以下格式从标准输入给出:

NN xx a1a_1 a2a_2 ...... aNa_N

输出

打印达到目标所需的最少操作次数。


示例输入 1

3 3
2 2 2

示例输出 1

1

吃掉第二个盒子中的一颗糖果。然后,每个盒子中的糖果数量变为 (2,1,2)(2, 1, 2)


示例输入 2

6 1
1 6 1 2 0 4

示例输出 2

11

例如,吃掉第二个盒子中的六颗糖果,第四个盒子中的两颗糖果和第六个盒子中的三颗糖果。然后,每个盒子中的糖果数量变为 (1,0,1,0,0,1)(1, 0, 1, 0, 0, 1)


示例输入 3

5 9
3 1 4 1 5

示例输出 3

0

目标已经在没有进行操作的情况下实现。


示例输入 4

2 0
5 5

示例输出 4

10

需要吃掉所有的糖果。