K món với giá một món
Đề bài
Mô tả
Trong cửa hàng có món hàng, món thứ có giá đồng. Bạn có đồng và muốn mua được càng nhiều món càng tốt.
Cửa hàng đang có chương trình khuyến mãi " món với giá của một món". Bạn có thể thực hiện lặp lại một trong hai thao tác sau, số lần tùy ý:
- Mua một món bất kỳ (nếu số tiền hiện có ), số tiền giảm đi .
- Chọn một món (nếu số tiền hiện có ) cùng với đúng món khác có giá không vượt quá , rồi mua cả món đó. Số tiền chỉ giảm đi (giá của món đắt nhất trong nhóm).
Mỗi món chỉ được mua nhiều nhất một lần. Hãy tìm số món tối đa bạn có thể mua.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số bộ dữ liệu.
- Với mỗi bộ dữ liệu:
- Dòng đầu chứa ba số nguyên , , .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra một dòng chứa số món tối đa có thể mua.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 5 6 2 2 4 3 5 7 5 11 2 2 4 3 5 7 3 2 3 4 2 6 5 2 3 10 1 3 9 2 2 10000 2 10000 10000 2 9999 2 10000 10000 4 6 4 3 2 3 2 5 5 3 1 2 2 1 2 |
3 4 1 1 2 0 4 5 |
Bộ 1: mua món giá 2 riêng lẻ (trả 2), rồi mua cặp giá 3 và 4 bằng khuyến mãi (trả 4). Tổng chi 6 đồng, được 3 món. |
| 2 2 1 2 1 1 2 2000000000 2 1 1 |
2 2 |
Bộ 1: hai món đều giá 1, dùng khuyến mãi mua cả hai chỉ trả 1 đồng. |
Bình luận