#array. 吃巧克力

吃巧克力

Problem Description

小明有 N 个盒子排成一行。开始时,从左边数的第 i 个盒子里有 $A_i$ 块巧克力。小明拿一些巧克力分享给编程社团的同学。他拿巧克力的规则:每次选择一个包含至少一颗巧克力的盒子从中拿 1 块巧克力出来分享。他希望分享结束时,任何两个相邻的盒子共有至多 X 块巧克力。请您帮 小明计算在满足他要求的情况下,他最少需要拿几块巧克力出来分享。

Input Format

共2行。

第 1 行,包含两个用空格隔开的整数 N 和 X。

第 2 行,包含 n 个用空格隔开的正整数,第 i 个数为 $A_i$,表示从左边数的第 i 个盒子里 有 $A_i$ 块巧克力。

Output Format

输出1行,包含一个整数,表示小明最少需要拿几块巧克力。

3 3
2 2 2
1
6 1
1 6 1 2 0 4
11

Hint

【样例说明】

对于样例 1,只要将第 2 个盒子里拿走 1 块巧克力,满足条件的最终状态为“2 1 2”;

对于样例 2 最少要拿走 11 块巧克力(第 2 个盒子里拿走 6 块,第 4 个盒子里拿走 2 块,第 6 个盒子里拿走 3 块),满足条件的最终状态可以为“1 0 1 0 0 1”。

【数据规模】

对于50%的数据,$2≤N≤10^3,0≤X≤10^5,0≤A_i ≤10^5$。 对于100%的数据,$2≤N≤10^5,0≤X≤10^9,0≤A_i ≤10^9$。

Source

GLLXX https://vip.gllxx.com