问题 C: 芭蕾表演

问题 C: 芭蕾表演

时间限制: 1 Sec  内存限制: 256 MB
提交: 82  解决: 41
[提交][状态][讨论版][命题人:]

题目描述

芭蕾演员们被编号为1~N,第i名演员计划在舞台上表演的时间为d[i];现在表演唯一有待决定的是舞台的尺寸,一个大小为K的舞台,可以同时容纳K名演员进行表演。

在一开始,第1~K名演员首先出现在舞台上,并按照计划各自表演他们自己的舞蹈;当某一名演员完成自己的表演时,他就会离开舞台,第K+1名演员再上台开始表演,又一名演员离开舞台时,第K+2名演员又上台开始表演…当舞台上的最后一名演员离开舞台时,整个表演结束。可以注意到,演员离开舞台的顺序并不一定和他们的编号顺序相符。

设表演共花费T时间,显然K越大,T越小。由于表演不能拖得太长,你得知T的上限Tmax,请根据这个约束,计算出满足要求的K的最小值。
输入

输入

第一行包含两个整数,N和Tmax;

接下来N行,每行包含一个整数d[i],表示第i名演员计划在舞台上表演的时间;

输出

输出仅一行,包含一个整数Kmin,表示表演时间不大于Tmax时,K可能的最小值;如果任何k都不能满足Tmax的时间要求,输出-1

样例输入

5 8
4
7
8
6
4

样例输出

4

提示

对于100%的数据,1 <= N <= 10000,1 <= d[i] <= 100000, 1<= Tmax<= 1000000;

[提交][状态]