#P3611. [USACO17JAN] Cow Dance Show S

    ID: 2462 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>模拟2017线段树二分USACO优先队列队列

[USACO17JAN] Cow Dance Show S

题目描述

After several months of rehearsal, the cows are just about ready to put on their annual dance performance; this year they are performing the famous bovine ballet "Cowpelia".

The only aspect of the show that remains to be determined is the size of the stage. A stage of size KK can support KK cows dancing simultaneously. The NN cows in the herd (1N10,0001 \leq N \leq 10,000) are conveniently numbered 1N1 \ldots N in the order in which they must appear in the dance. Each cow ii plans to dance for a specific duration of time d(i)d(i). Initially, cows 1K1 \ldots K appear on stage and start dancing. When the first of these cows completes her part, she leaves the stage and cow K+1K+1 immediately starts dancing, and so on, so there are always KK cows dancing (until the end of the show, when we start to run out of cows). The show ends when the last cow completes her dancing part, at time TT.

Clearly, the larger the value of KK, the smaller the value of TT. Since the show cannot last too long, you are given as input an upper bound TmaxT_{max} specifying the largest possible value of TT. Subject to this constraint, please determine the smallest possible value of KK.

经过几个月的排练,奶牛们基本准备好展出她们的年度舞蹈表演。今年她们要表演的是著名的奶牛芭蕾——“cowpelia”。

表演唯一有待决定的是舞台的尺寸。一个大小为 KK 的舞台可以支持 KK 头牛同时在舞台上跳舞。在牛群中的 NN 头牛按照她们必须出现在舞蹈中的顺序方便地编号为 1,2,...N1,2,...N。第 ii 头牛计划跳 did_i 的特定持续时间。 一开始,第 1,2,...K1,2,...K 头牛出现在舞台上并开始跳舞。当这些牛中的某一头牛首先完成了她的部分,她会马上离开舞台并且第 K+1K+1 头牛会出现在舞台上并开始跳舞。所以,舞台上总有 KK 头奶牛在跳舞(直到表演的尾声,奶牛不够的时候)。当最后一头奶牛完成了她的舞蹈部分,表演结束,共花了 TT 个单位时间。

显然,KK 的值越大,TT 就越小。由于表演不能拖太长,你得知了指定 TT 的最大可能值的上限 TmaxT_{max}。请根据这个约束,确定 KK 的最小值。

输入格式

The first line of input contains NN and TmaxT_{max}, where TmaxT_{max} is an integer of value at most 1 million.

The next NN lines give the durations d(1)d(N)d(1) \ldots d(N) of the dancing parts for cows 1N1 \ldots N. Each d(i)d(i) value is an integer in the range 1100,0001 \ldots 100,000.

It is guaranteed that if K=NK=N, the show will finish in time.

第一行包括 NNTmaxT_{max} 两个整数。

接下来的 NN 行,第 ii 行给出了第 ii 头牛跳舞的持续时间 did_i。第 ii 行包括一个整数 did_i

保证 K=NK=N 时表演会按时完成。

输出格式

Print out the smallest possible value of KK such that the dance performance will take no more than TmaxT_{max} units of time.

输出在表演时间不大于 TmaxT_{max} 时的 KK 的最小可能值。

5 8
4
7
8
6
4
4

提示

100%100\% 的数据,1N1041 \le N \le 10^4Tmax106T_{max} \le 10^61di1051 \le d_i \le 10^5

感谢@XY星系质量PK 提供的翻译