Máy bán nước

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Că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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.