问题 5048 --倒水

5048: 倒水★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 57  解决: 19
[提交][状态][命题人:]

题目描述

Alice正在家里看电视,突然她听见有人在敲门,她觉得很不开心,竟然有人来打扰她看电视。开门后她更不开⼼了,门后竟然站着 K 个老师,这些老师都是来家访的。Alice 的妈妈看到这么多老师后,赶紧吩咐 Alice 去给老师们倒水喝。Alice 家里只有一个热水壶,这个热水壶每次最多只能烧开 L毫升水。 Alice 家里有 N 个杯子,第 i 个杯子的容量为 ai毫升。Alice 需要从里面选出 K 个杯子给这些老师,然后把每一杯子都倒满,再拿给老师。Alice 现在想知道,她最少得需要烧多少壶水,才能给这 K 名老师倒够水。

考虑下面这个例子,N = 4,K = 4,L = 4, a1 = 2,a2 = 3,a3 = 1,a4 = 5。Alice 至少需要烧 3 次水。第一次烧水后,Alice 可以倒满第一和第三个杯子。还剩 1 毫升水可以倒到第二个杯子。第二次烧水,Alice 可以倒满第二个杯子,还剩 2 毫升⽔可以倒到第四个杯子。最后一次烧开的水可以倒满第四个杯子。

输入

第一行输入三个整数 N,K,L。接下来一行N 个整数。第 i 个整数 ai代表第 i 个杯子的容量。其中1 ≤ K ≤ N ≤ 10^5,1 ≤ ai,L ≤ 10^9

输出

输出一个整数代表 Alice 最少需要烧多少次水。
样例输入
Copy
4 4 4
2 3 1 5
样例输出
Copy
3

提示

样例2输入

4 3 4

2 3 1 5

样例2输出

2

来源

[提交][状态]