# 小A的糖果
## 题目描述
小 A 有 $n$ 个糖果盒,第 $i$ 个盒中有 $a_i$ 颗糖果。
小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 $x$,至少得吃掉几颗糖。
## 输入格式
输入的第一行是两个用空格隔开的整数,代表糖果盒的个数 $n$ 和给定的参数 $x$。
第二行有 $n$ 个用空格隔开的整数,第 $i$ 个整数代表第 $i$ 盒糖的糖果个数 $a_i$。
## 输出格式
输出一行一个整数,代表最少要吃掉的糖果的数量。
## 样例 #1
### 样例输入 #1
```
3 3
2 2 2
```
### 样例输出 #1
```
1
```
## 样例 #2
### 样例输入 #2
```
6 1
1 6 1 2 0 4
```
### 样例输出 #2
```
11
```
## 样例 #3
### 样例输入 #3
```
5 9
3 1 4 1 5
```
### 样例输出 #3
```
0
```
## 提示
#### 样例输入输出 1 解释
吃掉第 2 盒中的一个糖果即可。
---
#### 样例输入输出 2 解释
第 2 盒糖吃掉 $6$ 颗,第 4 盒吃掉 $2$ 颗,第 6 盒吃掉 $3$ 颗。
---
#### 数据规模与约定
- 对于 $30\%$ 的数据,保证 $n \leq 20$,$a_i, x \leq 100$。
- 对于 $70\%$ 的数据,保证 $n \leq 10^3$,$a_i, x \leq 10^5$。
- 对于 $100\%$ 的数据,保证 $2 \leq n \leq 10^5$,$0 \leq a_i, x \leq 10^9$。
#include<stdio.h>
int main()
{
long long n, x, i, max=0,sum=0;
long long a[100000];
scanf("%lld %lld", &n, &x);
for (i = 0; i < n; i++)
{
scanf("%lld", &a[i]);
}
for (i = 0; i < n - 1; i++)
{
if (a[i] + a[i + 1] > x){
max = a[i] + a[i + 1] - x;
a[i+1] = x-a[i];
sum+=max;
}
if(a[i+1]<0){
a[i]+=a[i+1];
a[i+1]=0;
}
}
printf("%lld", sum);
}