철도역 통폐합
길이가 \(D\)인 철도 노선에 출발역과 종착역이 있으며, 두 역 사이에는 \(N\)개의 중간역이 있다. 출발역의 위치는 \(0\), 종착역의 위치는 \(D\)이다.
열차는 출발역에서 출발하여 운영 중인 모든 중간역에 위치 순서대로 정차한 뒤 종착역에 도착한다.
철도 회사는 중간역 중 정확히 \(M\)개를 폐쇄하려고 한다. 회사는 역 사이의 거리가 지나치게 짧은 구간을 줄이기 위해, 인접한 운영 역 사이 거리의 최솟값을 최대한 크게 만들고자 한다. 출발역과 첫 번째 중간역 사이의 거리, 마지막 중간역과 종착역 사이의 거리도 역 사이 거리에 포함한다.
철도 노선의 길이와 중간역의 위치가 주어질 때, 중간역 \(M\)개를 폐쇄한 뒤 인접한 운영 역 사이 거리의 최솟값으로 가능한 최댓값을 구하여라.
입력
첫째 줄에 철도 노선의 길이 \(D\), 중간역의 수 \(N\), 폐쇄할 중간역의 수 \(M\)이 공백으로 구분되어 주어진다.
다음 \(N\)개의 줄에는 각 중간역의 위치가 한 줄에 하나씩 주어진다. 중간역의 위치는 출발역으로부터의 거리로 나타낸다.
중간역의 위치가 순서대로 주어진다는 보장은 없다.
출력
중간역 \(M\)개를 폐쇄한 뒤 인접한 운영 역 사이 거리의 최솟값으로 가능한 최댓값을 출력한다.
제한 사항
- \(1 \le D \le 1,000,000,000\)
- \(0 \le N \le 50,000\)
- \(0 \le M \le N\)
- 모든 중간역의 위치는 \(0\)보다 크고 \(D\)보다 작다.
- 서로 다른 두 중간역이 같은 위치에 있는 경우는 없다.
예제 입력 1
36 5 2
32
9
4
27
18
예제 출력 1
9
예제 설명 1
위치 \(4\)와 \(32\)에 있는 중간역을 폐쇄하면 운영 역의 위치는 \(0,9,18,27,36\)이 된다. 인접한 운영 역 사이의 거리는 모두 \(9\)이다.
중간역 두 개를 폐쇄하면 출발역과 종착역을 포함하여 운영 역이 네 구간을 만든다. 네 구간의 거리 합은 \(36\)이므로 모든 구간의 거리를 \(10\) 이상으로 만들 수는 없다. 따라서 가능한 최댓값은 \(9\)이다.
예제 입력 2
50 6 3
35
5
44
20
11
28
예제 출력 2
9
코멘트