시간 제한
메모리 제한
시간 제한
1초
메모리 제한
32 MB
어떤 엔지니어링 기관이 앞으로 N일 동안 처리해야 할 작업 요청 M개를 받았다. 작업 하나를 처리하는 데에는 기계 한 대가 정확히 하루 걸린다. 이 기관은 성능이 동일한 기계 여러 대를 보유하고 있으며, 각 기계는 하루에 최대 한 개의 작업만 처리할 수 있다. 따라서 하루에 처리할 수 있는 작업 수는 보유한 기계 수를 넘을 수 없다.
이 기관은 최대 D일의 지연을 허용한다. 즉, 어떤 요청이 S일에 제출되었다면 늦어도 S+D일까지는 완료되어야 한다. 다시 말해, S일에 제출된 요청은 S,S+1,…,S+D일 중 어느 하루에 처리할 수 있다.
모든 작업을 허용된 지연 안에 처리하기 위해 필요한 기계의 최소 개수를 구하여라.
첫째 줄에 세 정수 N, D, M이 주어진다. N (1≤N≤100000)은 작업을 처리하는 일수, D (0≤D<N)는 허용되는 최대 지연 일수, M (1≤M≤1000000)은 작업 요청의 개수이다.
둘째 줄에는 M개의 정수가 공백으로 구분되어 주어진다. i번째 정수는 i번 요청이 제출된 날짜이며, 모든 제출 날짜는 1 이상 N−D 이하이다(N−D일 이후에는 어떤 요청도 제출되지 않는다).
최대 D일의 지연 안에 모든 작업 요청을 처리하기 위해 필요한 기계의 최소 개수를 정수 하나로 출력한다.