Maxdif
Xem PDF
Điểm:
1600 (p)
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho dãy số nguyên \(a_1, a_2, \dots, a_n\) và số nguyên dương \(k\). Thực hiện phép xóa \(k\) phần tử, sau đó sắp xếp các phần tử còn lại theo thứ tự tăng dần. Gọi \(W\) là hiệu lớn nhất giữa hai phần tử liên tiếp trong dãy sau khi đã sắp xếp.
Yêu cầu
Tìm cách xóa \(k\) phần tử sao cho \(W\) nhận giá trị nhỏ nhất.
Input
- Dòng đầu chứa hai số nguyên dương \(n, k\) (\(k \le n - 2\)).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(|a_i| \le 10^9\)).
Output
- Gồm một dòng duy nhất chứa giá trị \(W\) nhỏ nhất tìm được.
Example
Test 1
Input
5 1
4 1 2 3 9
Output
1
Note
Xóa phần tử có giá trị \(9\). Dãy còn lại là \(\{4, 1, 2, 3\}\).
Sắp xếp lại ta được \(\{1, 2, 3, 4\}\).
Các hiệu liên tiếp là: \(2-1=1, 3-2=1, 4-3=1\).
Hiệu lớn nhất \(W = 1\). Đây là giá trị nhỏ nhất có thể đạt được.
Scoring
- Subtask \(1\) (\(30\%\) số điểm): \(n \le 100\).
- Subtask \(2\) (\(30\%\) số điểm): \(n \le 2000\).
- Subtask \(3\) (\(40\%\) số điểm): \(n \le 10^5\).
Nguồn: Thầy Đông '1920
Bình luận