Gộp đá chi phí nhỏ nhất
Đề bài
Mô tả
Cho đống đá xếp thành một hàng. Đống thứ chứa viên đá.
Bạn được phép thực hiện thao tác gộp như sau: chọn hai đống nằm kề nhau trong hàng rồi gộp chúng lại thành một đống mới (đống mới chiếm vị trí của hai đống cũ trong hàng, do đó số đống giảm đi ). Chi phí của một thao tác gộp bằng tổng số đá của hai đống vừa được gộp.
Bạn cần lặp lại thao tác trên đúng lần để cuối cùng chỉ còn lại một đống duy nhất. Hãy tìm tổng chi phí nhỏ nhất có thể.
Dữ liệu vào
- Dòng : số nguyên .
- Dòng : số nguyên cách nhau bởi dấu cách.
Dữ liệu ra
In ra một số nguyên duy nhất — tổng chi phí gộp nhỏ nhất.
Ràng buộc
- Nếu , kết quả là (không cần gộp).
- Đáp số có thể lên tới khoảng , hãy dùng kiểu số nguyên 64-bit.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 1 1 4 |
18 | Gộp hai đống giữa (chi phí ). Hàng còn . Gộp (chi phí ). Hàng còn . Gộp (chi phí ). Tổng . |
| 3 1 2 3 |
9 | Gộp (chi phí ), rồi gộp (chi phí ). Tổng . (Cách gộp trước cũng cho tổng .) |
Ghi chú
Chú ý: chỉ được gộp hai đống đang kề nhau trong hàng tại thời điểm hiện tại. Việc gộp tham lam hai đống nhỏ nhất kiểu Huffman (không quan tâm vị trí) sẽ cho kết quả sai vì có thể chọn cặp không kề nhau.
Bình luận