问题 H: 厨房安排

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:286 解决:35

题目描述

在某个遥远的地方,开了一家神奇的餐厅,它拥有无限多的厨师。这天,餐厅接到了 $N$ 道菜的订单,编号为 $1$ 至 $N$ 。每一道菜都需要一个厨师专心地花费 $a_i (1 \leq i \leq N)$ 个单位时间来烹饪。为了保证菜品的质量和顺序,这家餐厅必须按照编号从小到大的顺序依次制作菜品,每个厨师制作完一道菜后可以立即制作下一道菜。

由于厨师调度员今天有急事要赶回家,他想要在 $K$ 个单位时间内完成这 $N$ 道菜的制作,那么他至少需要安排多少个厨师呢?

输入

输入的第一行包含两个整数 $N, K(1\leq N, K \leq 10^5)$,表示订单的数量和时间限制。

接下来的一行包含 $N$ 个整数 $a_i (1 \leq a_i \leq 10^3)$,第 $i$ 个数表示制作第 $i$ 道菜需要占用厨师的时间。

输出

输出一个整数,表示在 $K$ 个单位时间内完成全部订单所需的最少厨师数量。如果无法完成,输出 -1。

样例输入 复制

4 6
3 1 5 2

样例输出 复制

2

提示

样例解释如下:

  • 时刻 0:第 1 道菜开始制作,第 2 道菜开始制作;
  • 时刻 1:第 2 道菜制作完成,第 3 道菜开始制作;
  • 时刻 3:第 1 道菜制作完成,第 4 道菜开始制作;
  • 时刻 5:第 4 道菜制作完成;
  • 时刻 6:第 3 道菜制作完成。