Ba Lô Không Giới Hạn
Đề bài
Mô tả
Cho loại vật. Loại vật thứ có khối lượng và giá trị . Bạn có một chiếc ba lô sức chứa (tổng khối lượng các vật đem theo không được vượt quá ).
Với mỗi loại vật, bạn được lấy số lượng không giới hạn (có thể lấy , , , vật cùng loại). Hãy tìm tổng giá trị lớn nhất có thể nhét vào ba lô.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và — số loại vật và sức chứa ba lô.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và — khối lượng và giá trị của loại vật thứ .
Dữ liệu ra
In ra một số nguyên duy nhất: tổng giá trị lớn nhất có thể đạt được.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 10 2 3 3 4 4 5 |
15 | Lấy vật loại (khối lượng , giá trị ). |
| 2 12 5 9 6 10 |
20 | Lấy vật loại (khối lượng , giá trị ). Nếu lấy vật loại chỉ được giá trị . |
Ghi chú
Với ví dụ , chiến lược "chọn loại có tỷ số giá trị/khối lượng cao nhất" sẽ chọn loại (tỷ số ), nhưng cách làm này không tối ưu vì để lại đơn vị khối lượng thừa.
Bình luận