编程题
### 问题描述
$n$ 个外星 UFO 又来入侵地球了,你需要用防御武器摧毁这些 UFO。
$n$ 个 UFO 排成了一排,每个 UFO 有各自的防御力,其中从左到右第 $i$ 个 UFO 的防御力为 $a_i$。在一次操作中,你可以选择连续的若干个防御力之和不超过 $w$ 的 UFO 并将其摧毁。操作结束后所有未被摧毁的 UFO 会重新排成一排,UFO 间的相对位置不变。
求摧毁全部的 UFO 需要的最小操作次数。
### 输入格式
输入第一行包含两个整数 $n,w$,表示入侵的 UFO 的总数和一次操作可摧毁的 UFO 防御力之和的最大值。
第二行包含 $n$ 个整数,表示数组 $a$。
### 输出格式
一个整数,表示摧毁全部的 UFO 需要的最小操作次数。
### 样例输入
```text
6 10
3 5 5 3 8 3
```
### 样例输出
```text
3
```
### 说明
一种可行的操作方案为:
1. 摧毁区间 $[2,3]$ 的 UFO。剩余的 UFO 由 $(3,\underline{5},\underline{5},3,8,3)$ 变为 $(3,3,8,3)$。
2. 摧毁区间 $[3,3]$ 的 UFO。剩余的 UFO 由 $(3,3,\underline{8},3)$ 变为 $(3,3,3)$。
3. 摧毁区间 $[1,3]$ 的 UFO。剩余的 UFO 由 $(\underline{3},\underline{3},\underline{3})$ 变为空。
操作的次数为 $3$。可以证明不存在使操作次数更少的操作方案。
### 评测数据规模
对于 $20$% 的评测数据,$1\leq n \leq 16$。
对于 $40$% 的评测数据,$1\leq n \leq 100$。
对于 $100$% 的评测数据,$1\leq n \leq 400$,$1\leq a_i \leq w \leq 10^9$。