Cải tạo vườn hoa
Đề bài
Mô tả
Có luống hoa xếp thành hàng ngang. Luống hiện chứa đơn vị đất, và cần chứa đơn vị đất. Ba thao tác được phép thực hiện:
- Mua đất: thêm 1 đơn vị đất vào luống bất kỳ, chi phí đồng.
- Bỏ đất: bỏ 1 đơn vị đất khỏi luống bất kỳ, chi phí đồng.
- Chuyển đất: chuyển 1 đơn vị đất từ luống sang luống , chi phí đồng.
Tìm tổng chi phí nhỏ nhất để đưa tất cả các luống về đúng lượng đất cần thiết.
Dữ liệu vào
- Dòng : Bốn số nguyên , , , — số luống hoa và các chi phí tương ứng.
- dòng tiếp theo: Mỗi dòng gồm hai số nguyên và .
Dữ liệu ra
Một số nguyên — tổng chi phí nhỏ nhất.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 100 200 1 1 4 2 3 3 2 4 0 |
210 | Chi phí mua đất = 100, bỏ đất = 200, chuyển đất = 1/đơn vị/vị trí. Phương án tối ưu: chuyển 1 đất từ luống 3 sang luống 2 (phí 1), chuyển 1 đất từ luống 4 sang luống 1 (phí 3), mua 2 đất cho luống 1 (phí 200), bỏ 1 đất từ luống 4 (phí 200)... Tổng = 210. |
| 20 12 11 1 10 3 1 3 4 8 6 10 3 3 9 10 8 4 7 2 3 10 4 2 10 5 8 9 5 6 1 4 7 2 1 7 4 3 1 7 2 6 6 5 |
157 | Với luống, chi phí mua = 12, bỏ = 11, chuyển = 1/bước. Kết hợp tối ưu các thao tác cho tổng chi phí = 157. |
Ghi chú
- Luống hoa được đánh số từ đến (từ trái sang phải).
- Chi phí chuyển đất tỉ lệ với khoảng cách giữa hai luống.
Bình luận