Phòng thủ lâu đài
Đề bài
Mô tả
Một bức tường thành dài gồm đoạn, đánh số từ đến . Hiện tại đoạn thứ có cung thủ đứng gác. Một cung thủ đứng ở đoạn có thể bắn yểm trợ cho mọi đoạn thỏa mãn (riêng nghĩa là cung thủ chỉ bắn được đúng đoạn mình đứng).
Mức phòng thủ của đoạn là tổng số cung thủ có thể bắn yểm trợ cho đoạn đó. Độ tin cậy của phương án phòng thủ là giá trị nhỏ nhất trong các mức phòng thủ của tất cả các đoạn.
Bạn không thể di chuyển các cung thủ đang đứng trên tường, nhưng có thêm một lực lượng dự bị gồm cung thủ có thể bố trí tùy ý vào các đoạn tường. Hãy bố trí lực lượng dự bị sao cho độ tin cậy của phương án phòng thủ là lớn nhất có thể.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , và : số đoạn tường, tầm bắn của cung thủ và số cung thủ dự bị.
- Dòng thứ hai chứa số nguyên : số cung thủ hiện có ở mỗi đoạn.
Dữ liệu ra
In ra một số nguyên duy nhất: độ tin cậy lớn nhất có thể đạt được.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 0 1 2 3 4 |
6 | Với , đoạn 1 được yểm trợ bởi các đoạn 1, 2, 3 nên mức phòng thủ là ; các đoạn 2, 3, 4 có mức phòng thủ lần lượt là . Không có quân dự bị nên độ tin cậy là . |
| 5 0 6 5 4 3 4 9 |
5 | Mỗi cung thủ chỉ bảo vệ đúng đoạn mình đứng. Thêm 1 quân vào đoạn 2, 2 quân vào đoạn 3, 1 quân vào đoạn 4 (dùng 4 trong 6 quân dự bị), mọi đoạn đạt mức ít nhất . Không thể đạt mức vì cần tới quân. |
| 5 1 1 2 1 2 1 2 |
3 | Đặt 1 quân dự bị vào đoạn 3: các mức phòng thủ trở thành , độ tin cậy là . |
Bình luận