연우는 N(1≤N≤105)개의 나무 블록을 갖고 있다. 연우는 이 N개의 나무 블록을 일렬로 배치해놓았다. 지나가다 우연히 그걸 본 지환은 연우가 한 배치가 너무 엉망이라고 생각했다.
지환은 인접한 나무 블록간의 높이 차이가 작으면 작을수록 좋은 배치라고 생각한다. 지환은 나열된 나무 블록에서 몇 개의 블록을 제거해서 인접한 블록간 높이 차이를 최대한 작게 만들려고 한다. 하지만 너무 많은 블록을 제거하면 연우가 싫어하기 때문에, 최소 X개 이상의 블록은 남겨두려고 한다.
지환은 이런 조건을 모두 만족하게 블록을 제거하는게 생각보다 쉽지 않은 일이라는 것을 깨닫고 당신에게 도움을 요청했다. 지환을 도와, 블록을 일부 제거해서 최소 X개 이상의 블록을 남겼을 때 만들 수 있는 인접한 블록간의 최대 높이 차이를 최소화하는 프로그램을 작성하시오.
첫째 줄에 N, X가 공백으로 구분되어 주어진다(1≤X≤N≤105).
둘째 줄에 연우가 처음 나열해 둔 나무 블록의 높이가 공백으로 구분되어 N개 주어진다. 각 높이는 1이상 109 이하의 정수이다.
첫째 줄에 최소 X개 이상의 블록을 남겨 둔 채 인접한 블록간 높이 차이의 최댓값을 가능한 한 작게 만들었을 때 높이 차이 최댓값을 출력한다.