Heidi va thu vien
Đề bài
Mô tả
Thư viện phục vụ yêu cầu mượn sách theo thứ tự. Yêu cầu thứ cần cuốn sách .
Tại mọi thời điểm, thư viện chỉ có thể giữ tối đa cuốn sách trên kệ.
Xử lý các yêu cầu lần lượt. Khi tới yêu cầu cuốn :
- Nếu cuốn đang có trên kệ thì phục vụ ngay, không tốn chi phí.
- Nếu cuốn chưa có trên kệ thì phải mua cuốn đó với chi phí , rồi đặt lên kệ. Nếu lúc đó kệ đã đủ cuốn thì trước tiên phải bỏ bớt một cuốn bất kỳ đang có trên kệ (việc bỏ sách không tốn chi phí).
Sách đã bỏ khỏi kệ, nếu về sau cần lại thì phải mua lại từ đầu.
Hãy xác định tổng chi phí nhỏ nhất (số cuốn sách phải mua) để phục vụ hết toàn bộ dãy yêu cầu.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên là mã sách của các yêu cầu.
Dữ liệu ra
- Một số nguyên duy nhất: tổng chi phí nhỏ nhất.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 100 1 2 2 1 |
2 | Kệ chứa được tới 100 cuốn. Mua cuốn 1 và cuốn 2, sau đó cả hai yêu cầu còn lại đều đã có sẵn. Tổng 2 lần mua. |
| 4 1 1 2 2 1 |
3 | Kệ chỉ chứa 1 cuốn. Mua 1, bỏ 1 để mua 2, giữ 2 phục vụ yêu cầu thứ ba, rồi bỏ 2 để mua lại 1. Tổng 3 lần mua. |
| 4 2 1 2 3 1 |
3 | Kệ chứa 2 cuốn. Mua 1 và 2; khi cần 3 phải bỏ cuốn 2 (vì sau này không dùng lại) để giữ cuốn 1; yêu cầu cuối đã có cuốn 1. Tổng 3 lần mua. |
Bình luận