在某个遥远的地方,开了一家神奇的餐厅,它拥有无限多的厨师。这天,餐厅接到了 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 道菜制作完成。