해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
매일 저녁 Vitalya는 다음 날 일어나기 위해 알람 시계 n개를 맞춘다. 각 알람 시계는 정확히 한 분 동안 울리며, 하나의 정수 ai로 나타낸다. 이 정수는 자정이 지난 뒤 알람이 울리는 분의 번호이다. 각 알람 시계는 해당 분이 시작될 때 울리기 시작하여 그 분 내내 울린다.
어떤 연속된 m분 동안 적어도 k개의 알람 시계가 울리기 시작하면 Vitalya는 반드시 깨어난다. Vitalya는 주어진 시간 동안 울리기 시작한 알람 시계만 고려한다는 점에 유의한다. 주어진 시간 전에 울리기 시작하여 주어진 시간 동안 계속 울리는 알람 시계는 고려하지 않는다.
Vitalya는 너무 피곤해서 하루 종일 자며 깨어나지 않으려 한다. 다음 날 내내 자기 위해 Vitalya가 꺼야 하는 알람 시계의 최소 개수를 구한다. 현재 모든 알람 시계는 켜져 있다.
첫째 줄에 세 정수 n, m, k (1 ≤ k ≤ n ≤ 2·105, 1 ≤ m ≤ 106)가 주어진다. 이는 알람 시계의 개수와 Vitalya가 깨어나는 조건을 나타낸다.
둘째 줄에 서로 다른 정수로 이루어진 수열 a1, a2, ..., an (1 ≤ ai ≤ 106)이 주어지며, ai는 i-th 알람 시계가 울리는 분을 나타낸다. 수들은 임의의 순서로 주어진다. Vitalya는 하루가 106분인 Berland에 산다.
다음 날 내내 자기 위해 Vitalya가 꺼야 하는 알람 시계의 최소 개수를 출력한다.
2 2 2
1 3
0
3 3 2
3 5 1
1
7 7 2
7 3 4 1 6 5 2
6
첫 번째 예제에서 Vitalya는 3분째에 울리는 첫 번째 알람 시계를 꺼야 한다.
두 번째 예제에서는 3개의 알람 시계가 울리는 연속된 10분 구간이 없으므로 Vitalya는 어떤 알람 시계도 끌 필요가 없다.
세 번째 예제에서 Vitalya는 아무 알람 시계나 6개를 꺼야 한다.