#P99. CSP

CSP

西点大赛

题目描述

著名的西点大赛开始了。

有 N 名厨师参加今年的比赛。厨师们根据抽签顺序依次获得了一个号码牌,N 名厨师的号码牌分别为 1∼N。厨师们已经完成了糕点的制作,接下来,他们将严格按照这个顺序将自己制作的糕点放入烤箱烘烤,每名厨师制作糕点的烘烤时间不同,第 i 名厨师需要 Ai 个单位的时间烘烤参赛的糕点。

大赛主办方准备了 C个烤箱,每个烤箱一次只能烘烤一名厨师的糕点。前 C 名厨师最先烘烤他们的糕点。当其中一名厨师完成烘烤取出自己的糕点后,下一名厨师会立刻将自己的糕点放入该烤箱烘烤。这个换人的过程非常迅速,可以认为前一名厨师取出糕点、下一名厨师将糕点放入烤箱的这个过程不消耗时间。

请编程计算出,主办方最少要准备多少个烤箱,才能在 T 个单位的时间内(含 T个单位的时间)完成所有糕点的烘烤。

输入格式

第一行输入两个整数 NT

接下来的 N 行,第 i 行给出了号码牌为ii 的厨师,其制作糕点的烘烤时间 Ai

输出格式

输出最少需要准备烤箱的数量。

样例输入 #1

5 12
6
3
6
3
7

样例输出 #1

4

提示

数据规模与约定

数据范围

对于 30% 的数据,满足 1N100

对于50% 的数据,满足 1N1000

对于 100% 的数据,满足 1N10^41T10^61Ai10^5AiT