Giảm thiểu số tiền xu
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Giảm thiểu số tiền xu
Mô tả và yêu cầu
Xét một hệ thống tiền tệ gồm n đồng xu. Mỗi đồng xu có giá trị nguyên dương.
Nhiệm vụ của bạn là sử dụng các đồng xu cho trước để tạo thành đúng một tổng tiền
x, sao cho số lượng đồng xu sử dụng là ít nhất.
Ví dụ: nếu các đồng xu là {1, 5, 7} và tổng cần tạo là 11, một cách tối ưu là 5 + 5 +
1, sử dụng 3 đồng xu.
Dữ liệu vào
Dòng đầu tiên gồm hai số nguyên n và x: n là số lượng loại đồng xu, x là tổng
tiền cần tạo.
Dòng thứ hai gồm n số nguyên phân biệt c₁, c₂, ..., cₙ: là giá trị của từng loại
đồng xu.
Dữ liệu ra
In ra một số nguyên duy nhất: số lượng đồng xu ít nhất cần dùng để tạo tổng
x.
Nếu không thể tạo ra tổng x, in ra -1.
Giới hạn và chấm điểm
1 ≤ 𝑛 ≤ 100
1 ≤ 𝑥 ≤ 106
1 ≤ 𝑐𝑖 ≤ 106
Ví dụ
INPUT OUTPUT
3 11 3
1 5 7
Bình luận