Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập deletexoakphantu

DELETE

Dễ Sắp xếpHai con trỏ

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 67% Tỉ lệ AC
  • 2 Số AC

Cho một dãy gồm \(n\) số nguyên \(a_1, a_2, \ldots, a_n\). Bạn được phép xóa đúng \(k\) phần tử bất kỳ trong dãy.

Sau khi xóa, gọi \(M\) là giá trị lớn nhất và \(m\) là giá trị nhỏ nhất của các phần tử còn lại. Hãy tìm giá trị nhỏ nhất có thể của \(M - m\).

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(k\) (\(3 \le n \le 10^6\), \(1 \le k \le n - 2\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(|a_i| \le 10^6\)).

Output

In ra một số nguyên duy nhất là giá trị nhỏ nhất của \(M - m\).

Sample Input 1

5 2
1 2 6 8 10

Sample Output 1

4

Notes

Xóa số \(1\) và \(2\), dãy còn lại là \(\{6, 8, 10\}\) với \(M - m = 4\).

Bình luận

Chưa có bình luận nào.