Các trạm thu, phát sóng viễn thông của thành phố được đặt trên một đường tròn. Đường tròn này được chia thành \(10^{6}\) điểm cách đều nhau theo chiều kim đồng hồ. Một vị trí trên đường tròn được chọn là mốc 0. Có \(n\) trạm thu sóng được đánh thứ tự từ 1 đến \(n\), trạm thứ \(i\) đặt ở vị trí \(a_{i}\ (1 \leq i \leq n)\).
Thành phố dự kiến sẽ đầu tư \(k\) trạm phát sóng với phạm vi phát như nhau. Tuy nhiên, một trạm phát sóng với phạm vi phát càng dài thì chi phí càng cao. Vì vậy, thành phố cần tính toán để đầu tư các trạm phát sóng có phạm vi phát ngắn nhất và phải đảm bảo các trạm thu sóng đều nhận được tính hiệu.
Khi một trạm phát sóng có phạm vi phát là \(r\) thì các trạm thu sóng trong khoảng cách \(r\) theo cả hai chiều kim đồng hồ đều nhận được tín hiệu. Ví dụ: trạm phát sóng tại vị trí 3 với phạm vi phát 1 thì cả trạm thu sóng ở vị trí 2 và 4 đều nhận được tín hiệu.
Yêu cầu: Tìm phạm vi phát ngắn nhất của \(k\) trạm phát sóng sẽ đầu tư để \(n\) trạm thu sóng đều nhận được tín hiệu.
Dữ liệu vào:
+ Dòng đầu tiên chứa số nguyên dương \(n\ (1 \leq n \leq 10^{3})\)
+ Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa một số nguyên \(a_{i}\) là vị trí trạm thu sóng thứ \(i\). Không có hai trạm nào cùng vị trí \((0 \leq a_{i} < 10^{6},\ 1 \leq i \leq n)\)
+ Dòng cuối cùng chứa số nguyên \(k\) là số trạm phát sóng \((\ 1 \leq k < n)\). Chú ý, vị trí trạm phát có thể được đặt cùng vị trí của một trạm thu nào đó.
Kết quả:
+ Số nguyên duy nhất là phạm vi phát sóng ngắn nhất của \(k\) trạm phát.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
4 5 1000 12345 987 2 | 498 | Đặt một trạm phát sóng ở vị trí 503 và một trạm phát sóng ở vị trí 12340 có phạm vi phát sóng là 498 |
2 1 999999 1 | 1 | Đặt một trạm phát sóng ở vị trí 0 có phạm vi phát sóng là 1 |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |