编程题
### 问题描述 $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$。
查看答案
赣ICP备20007335号-2