#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 21
6 1
1 6 1 2 0 411
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$。