#agc011a. [agc011_a]Airport Bus

[agc011_a]Airport Bus

题目描述

每天有 NN 名乘客抵达高桥机场。第 ii 名乘客在时间 TiT_i 抵达。

每位抵达高桥机场的乘客都乘坐公共汽车前往城市。每辆公共汽车最多可以容纳 CC 名乘客。显然,乘客不能乘坐早于飞机抵达机场的公共汽车。此外,乘客会在飞机抵达后 KK 单位时间内仍无法搭乘公共汽车时感到愤怒。因此,需要安排公交车,使得第 ii 名乘客能够乘坐在时间 TiT_iTi+KT_i + K(包括两个时间点)之间出发的公共汽车。

在满足这个条件下设置公共汽车的出发时间,找出所需的最小公共汽车数量。在这里,每辆公共汽车的出发时间不必是整数,而且可能有多辆公共汽车在同一时间出发。

约束条件

  • 2N1000002 \le N \le 100000
  • 1C1091 \le C \le 10^9
  • 1K1091 \le K \le 10^9
  • 1Ti1091 \le T_i \le 10^9
  • CCKKTiT_i 均为整数。

输入

从标准输入读取的输入数据格式如下:

NN CC KK T1T_1 T2T_2 : TNT_N

输出

打印所需的最小公共汽车数量。

示例 1

5 3 5
1
2
3
6
12

输出 1

3

例如,以下三辆公共汽车就足够了:

  • 出发时间为 4.54.5 的公共汽车,乘坐抵达时间为 2233 的乘客。
  • 出发时间为 66 的公共汽车,乘坐抵达时间为 1166 的乘客。
  • 出发时间为 1212 的公共汽车,乘坐抵达时间为 1212 的乘客。

示例 2

6 3 3
7
6
2
8
10
6

输出 2

3