제자리 멀리뛰기
면접 대비시간 제한1초메모리 제한128 MB
0에서 d까지 이동할 때 밟는 지점 사이 최소 간격이 최대가 되도록 n개의 돌 중 정확히 m개를 제거하고 그 값을 구한다.
문제
체육 시간에 제자리 멀리뛰기 훈련을 한다. 훈련장은 끓는 용암으로 가득 차 있어서, 학생은 용암 위에 놓인 돌섬을 딛으며 반대편 탈출구까지 건너가야 한다.
학생이 출발하는 돌섬은 위치 에 있고, 탈출구는 위치 에 있다. 출발 돌섬과 탈출구 사이에는 작은 돌섬이 개 있으며, 각 돌섬의 위치는 출발 돌섬으로부터의 거리로 주어진다.
선생님은 이 개의 작은 돌섬 중 정확히 개를 제거한다. 학생은 남은 개의 작은 돌섬을 모두 딛으면서 출발 돌섬에서 탈출구까지 위치 순서대로 점프한다. (두 돌섬이 아무리 멀리 떨어져 있어도 점프는 반드시 성공하며, 용암에 빠지는 일은 없다.)
한 번의 점프 거리는 연속해서 딛는 두 지점 사이의 거리이다. 즉 출발 돌섬, 남은 작은 돌섬들, 탈출구를 위치 순서대로 늘어놓았을 때 이웃한 두 지점 사이의 거리들이 각 점프 거리가 된다.
제거할 개의 돌섬을 잘 골라 학생이 뛰는 점프 거리의 최솟값을 최대로 만들고자 한다. 이때 가능한 최댓값을 구하여라.
입력
첫째 줄에 출발 돌섬에서 탈출구까지의 거리 (), 작은 돌섬의 수 (), 제거할 돌섬의 수 ()이 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 걸쳐 각 작은 돌섬의 위치(출발 돌섬으로부터의 거리)가 한 줄에 하나씩 정수로 주어진다. 모든 돌섬의 위치는 서로 다르다.
출력
개의 돌섬을 제거한 뒤 얻을 수 있는, 점프 거리의 최솟값의 최댓값을 한 줄에 출력한다.