만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

옷장

면접 대비

시간 제한5초메모리 제한1024 MB

요약
옷을 최대 M개 제거하여 남은 옷들이 먼저 증가하다가 나중에 감소하는 순서가 되고, 인접한 옷의 색 차이가 x 이하가 되도록 하는 가장 작은 x를 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 동적 계획법, 배열
정답자
아직 제출이 없습니다

문제

태인이의 옷장에는 NN개의 옷이 일렬로 걸려 있다. 왼쪽에서 ii번째 옷의 색은 cic_i이다.

태인이는 어떤 정수 kk (1≤k≤N1 \le k \le N)가 존재하여 c1≤c2≤⋯≤ck≥ck+1≥⋯≥cNc_1 \le c_2 \le \cdots \le c_k \ge c_{k+1} \ge \cdots \ge c_N을 만족하면 옷장이 아름답다고 생각한다.

옷장을 아름다운 상태로 정리하는 것은 꽤 번거롭다. 그래서 태인이는 옷장에서 최대 MM개의 옷을 제거해 남은 옷들을 거의 아름다운 상태로 만들기로 했다.

최대 MM개의 옷을 제거한 후 남은 옷의 개수를 LL, 왼쪽에서 jj번째 옷의 색을 djd_j라 하자. 태인이는 인접한 두 옷의 색 차이가 xx 이하이면 두 옷을 같은 색으로 본다. 다음을 만족하는 정수 kk (1≤k≤L1 \le k \le L)가 존재하면 옷장이 거의 아름다운 상태이다.

  • 1≤j<k1 \le j < k인 모든 정수 jj에 대해 dj−dj+1≤xd_j - d_{j+1} \le x.
  • k≤j<Lk \le j < L인 모든 정수 jj에 대해 dj+1−dj≤xd_{j+1} - d_j \le x.

최대 MM개 이하의 옷을 제거해 옷장을 거의 아름다운 상태로 만들 수 있는 가장 작은 음이 아닌 정수 xx를 구하라.

입력

첫 번째 줄에 두 정수 NN과 MM이 주어진다. 두 번째 줄에는 NN개의 정수 c1,c2,…,cNc_1, c_2, \ldots, c_N이 공백을 사이에 두고 주어진다.

출력

옷장을 거의 아름다운 상태로 만들 수 있는 가장 작은 xx (x≥0x \ge 0)의 값을 출력한다.

제한

  • 1≤N≤1051 \le N \le 10^5
  • 0≤M≤N0 \le M \le N
  • 1≤ci≤1091 \le c_i \le 10^9 (1≤i≤N1 \le i \le N)

힌트

x=2x=2일 때, 왼쪽에서 5번째 옷과 9번째 옷을 제거하면 옷장은 거의 아름다운 상태가 된다. 이보다 더 작은 xx로는 옷장을 거의 아름다운 상태로 만들 수 없다.

예제1

  1. 예제 1

    입력
    10 2
    4 2 7 15 3 11 12 10 2 6
    
    예상 출력
    2