#5774. 西点大赛

西点大赛

题目描述

著名的西点大赛开始了。

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

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

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

输入

第一行输入两个整数 NT

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

输出

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

样例

输入复制

5 12
6
3
6
3
7

输出复制

4

输入复制

10 122
36
87
93
50
22
63
28
91
100
64

输出复制

8

说明

样例 1 解释

5 名厨师,他们需要的烘烤时间分别是 6 3 6 3 7

如果有 4 个烤箱,前 4 名厨师不需要等待,将自己的糕点,放入这 4 个烤箱烘烤。

5 名厨师,可以等到第 2 名或者第 4 名厨师的糕点烘烤结束,用他们两位厨师其中一人的烤箱,烘烤自己的糕点。

所有厨师的糕点烘烤结束,需要 3+7=10 分钟,符合 T=12 的时间要求。

如果只有 3 个烤箱,前 3 名厨师先烘烤自己的糕点,第 4 名厨师用第 2 名厨师的烤箱,第 5 名厨师无论用谁的烤箱,都无法满足在 12 个单位的时间内,完成所有糕点的烘烤。

数据范围

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

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

对于 100% 的数据,满足 1N10410^41T10610^61AiA_i10510^5AiA_iT