Máy bán nước
Xem dạng PDFCăng tin khu A vừa lắp một máy bán nước tự động. Máy nhận tiền giấy và trả lại tiền thừa bằng các đồng xu do căng tin phát hành. Xu có ~n~ loại mệnh giá khác nhau ~c_1, c_2, \ldots, c_n~ (đơn vị: đồng), mỗi loại trong máy có số lượng coi như không hạn chế. Sau một lần mua hàng, máy cần trả lại đúng ~S~ đồng và phải dùng càng ít đồng xu càng tốt.
Yêu cầu
Hãy tìm số đồng xu ít nhất có tổng mệnh giá đúng bằng ~S~ (mỗi loại mệnh giá được dùng bao nhiêu đồng xu cũng được, kể cả không dùng), hoặc cho biết không có cách nào trả đúng ~S~.
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên ~n~ và ~S~;
- Dòng thứ hai chứa ~n~ số nguyên dương đôi một khác nhau ~c_1, c_2, \ldots, c_n~ (không nhất thiết theo thứ tự tăng dần).
Kết quả ra
Ghi ra một số nguyên duy nhất là số đồng xu ít nhất cần dùng; nếu không thể trả đúng ~S~ thì ghi ~-1~.
Ràng buộc
~1 \le n \le 100~; ~1 \le S \le 10^5~; ~1 \le c_i \le 10^5~.
- Subtask 1 (20% số điểm – test 01–04): ~S \le 20~;
- Subtask 2 (20% số điểm – test 05–08): sau khi sắp xếp tăng dần, mỗi mệnh giá chia hết cho mệnh giá đứng ngay trước nó;
- Subtask 3 (25% số điểm – test 09–13): ~n \le 10~ và ~S \le 1000~;
- Subtask 4 (35% số điểm – test 14–20): không có ràng buộc bổ sung.
Ví dụ
Dữ liệu vào mẫu 1
3 6
1 3 4
Kết quả ra mẫu 1
2
Dữ liệu vào mẫu 2
3 11
4 6 10
Kết quả ra mẫu 2
-1
Giải thích
Ví dụ thứ nhất: cách tốt nhất là dùng hai đồng xu mệnh giá ~3~ (~3 + 3 = 6~); nếu lấy đồng xu lớn nhất trước thì được ~4 + 1 + 1~, phải dùng tới ba đồng xu. Ví dụ thứ hai: mọi mệnh giá đều chẵn nên tổng mệnh giá của các đồng xu luôn chẵn, không thể bằng ~11~.
Bình luận