#177. 珍珠奶茶

珍珠奶茶

蒜头君在木牢牢奶茶店打工,他把 nn 个杯子排成一行,然后随意地往里面加上珍珠,已知第 ii个杯子的珍珠数目是 aia_i。突然他想起来老板让他少用珍珠,必须满足相邻两个杯子里的珍珠数目不超过 mm。现在他只能把多余的珍珠去掉,放回冰箱里(没错,就是这么不卫生)。请你帮他计算下,最少需要去掉多少珍珠。

下面是初始化代码,其中需要添加代码的地方已经使用注释标出。

#include <cstdio>
#include <iostream>
using namespace std;
int a[100005];
int main() {
    freopen("tea.in", "r", stdin);
    freopen("tea.out", "w", stdout);
    int n, m;
    cin >> n >> m;
    long long ans = 0;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 1; i < n; i++) {
        if (a[i] + a[i - 1] > m) {

            // 这里需要添加合适的代码
        }
    }
    cout << ans << endl;
    return 0;
}

输入格式

第一行两个整数 n,m(2n105,1m109)n,m (2≤n≤10^5,1≤m≤10^9)

第二行 nn 个整数,表示初始时每个杯子里的珍珠数目 ai(1ai109)a_i (1≤a_i≤10^9)

输出格式

一个整数,表示最少需要去掉的珍珠数目。

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 tea.in,输出文件为 tea.out

样例输入1

3 10
7 8 10

样例输出1

8

样例输入2

3 10
15 1 10

样例输出2

6