[CEOI2012] 工作规划

题目描述

CEOI 在 $N$ 天内收到了 $M$ 个任务,每个任务需要 $1$ 台机器工作 $1$ 天来完成。CEOI 有很多台机器,每台机器一天只能完成一个任务。 CEOI 要求每个任务最多只能推迟 $D$ 天完成。换言之,如果一个客户在第 $S$ 天提交了一个任务,CEOI 必须在第 $S+D$ 天之前完成它。 请你写程序求出每个任务最多推迟 $D$ 天的前提下,最少需要多少台机器才能按要求完成所有任务。

输入输出格式

输入格式


第一行输入包含三个整数, $N$ 是 CEOI 接受任务的天数, $D$ 是每个任务最多可以推迟的天数。$M$ 是任务的个数。 第二行是 $M$ 个被空格分隔的整数。第 $i$ 个数代表收到第 $i$ 个任务时间。第 $N-D$ 天之后均没有任务。所有的任务按照输入顺序从 $1$ 到 $N$ 依次编号。

输出格式


输出一个整数,即能完成任务的最少机器数。

输入输出样例

输入样例 #1

8 2 12 
1 2 4 2 1 3 5 6 2 3 6 4

输出样例 #1

2

说明

对于 $50\%$ 的测试点,$M \le 10^5$。 对于所有测试点,$1 \le N \le {10}^5$,$0 \le D < N$ , $1 \le M< 10^6$。