[C10_KT_23] Xoá số

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, C++, Java, Pascal, Python

Cho dãy gồm ~N~ số nguyên ~a_1, a_2, ..., a_N~ ~(3 \le N \le 10^6,\ |a_i| \le 10^6,\ 1 \le i \le N)~. Xóa ~K~ số bất kỳ từ dãy số ~a_1, a_2, ..., a_n~ ~(1 \le K \le 5,\ 1 \le K \le N - 2)~. Sau khi xóa, gọi ~max~ là chênh lệch lớn nhất giữa hai số bất kỳ trong dãy số ~a_1, a_2,..., a_N~.

Yêu cầu

Hãy tìm cách xóa ~K~ số từ dãy số ~a_1, a_2, ..., a_N~, sao cho ~max~ là nhỏ nhất.

Dữ liệu đầu vào

Gồm hai dòng:

  • Dòng đầu tiên gồm hai số nguyên dương ~N~ và ~K~, cách nhau bằng dấu cách.
  • Dòng thứ hai gồm ~N~ số nguyên ~a_1, a_2, ..., a_N~, các số cách nhau bằng dấu cách.

Dữ liệu đầu ra

Gồm một số nguyên là kết quả ~max~ tìm được.

Ràng buộc dữ liệu

  • Có 40% số test ứng với ~K \le 2~.
  • Có 40% số test ứng với ~2 < K \le 4~.
  • Có 20% số test ứng với ~K = 5~.

Ví dụ

Ví dụ 1
INPUT
6 1
1 2 6 8 8 10
OUTPUT
7

Giải thích: Xóa số ~10~, chênh lệch lớn nhất giữa hai số ~1~ và ~8~ trong dãy là ~7~.

Ví dụ 2
INPUT
6 2
1 2 6 8 8 10
OUTPUT
4

Giải thích: Xóa số ~1~ và ~2~, chênh lệch lớn nhất giữa hai số ~6~ và ~10~ trong dãy là ~4~.


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.