import Foundation let (N,M) = [readLine()!.split(separator: " ").map{Int($0)!}].map{($0[0], $0[1])}[0] var arr = readLine()!.split(separator: " ").map{Int($0)!} var lo = 0 var hi = arr.max()! var ans = Int.max while lo<=hi{ let mid = (lo+hi)/2 var cnt = 0 var res = 0 var t = arr[0] var T = arr[0] for i in 0..<N{ t = min(t, arr[i]) T = max(T, arr[i]) if T-t > mid{ cnt += 1 t = arr[i] T = arr[i] }else{ res = max(res,T-t) } } cnt += 1 if cnt <= M{ ans = min(ans, res) hi = mid-1 }else{ lo = mid+1 } } print(ans)