Hiệu lớn nhất (HSG lớp 9 THCS Phú Thọ 2025-2026)

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho dãy số nguyên ~a_1, a_2, \ldots, a_n~ và số nguyên dương ~k~.

Yêu cầu: Thực hiện phép xóa ~k~ phần tử sao cho chênh lệch nhỏ nhất giữa 2 phần tử bất kỳ còn lại là lớn nhất.

Dữ liệu

  • 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, \ldots, a_n~ (~|a_i| \le 10^9~).

Kết quả

  • Gồm một dòng chứa một số là giá trị lớn nhất tìm được.

Ví dụ

Ví dụ 1

Input

5 1
4 1 2 3 9

Output

1

Giải thích: Xóa 1 phần tử bất kỳ, thì dãy còn lại luôn tồn tại 2 số tự nhiên liên tiếp nhau, nên độ chênh lệch lớn nhất là 1.

Ví dụ 2

Input

5 2
10 -5 3 -2 1

Output

7

Giải thích: Trong các cách xóa 2 phần tử bất kỳ, cách xóa chỉ còn 3 phần tử [10,-5,3] có độ chênh lệch nhỏ nhất là 7. Cách xóa này là cách xóa có độ chênh lệch nhỏ nhất giữa các phần tử là lớn nhất.

Giới hạn

  • Subtask 1 (20% số điểm): ~n \le 20~, ~k = 1~;
  • Subtask 2 (30% số điểm): ~20 < n \le 100~;
  • Subtask 3 (25% số điểm): ~100 < n \le 2000~;
  • Subtask 4 (25% số điểm): ~2000 < n \le 10^5~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.