99991310 - 厨房安排

通过次数

0

提交次数

12

时间限制 : 1 秒
内存限制 : 128 MB

在某个遥远的地方,开了一家神奇的餐厅,它拥有无限多的厨师。这天,餐厅接到了 N 道菜的订单,编号为 1N 。每一道菜都需要一个厨师专心地花费 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 道菜制作完成。