QHD14 - Đổi tiền - ATM
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: phanhieubl

Một máy rút tiền tự động có n loại tiền mệnh giá lần lượt là d1, d2, …, dn đồng. Bạn An cần rút số tiền là S sao cho tổng số tờ tiền rút được là ít nhất có thể.

Em hãy lập trình cho máy ATM có thể đưa ra tổng số lượng tờ tiền thỏa mãn yêu cầu trên. Giả thiết rằng luôn có cách rút tiền tối ưu.

Input: ATM.INP

  • Dòng 1: chứa hai số nguyên dương n S (1 <= n <= 100, 1 <= S <= 10000)
  • Dòng 2: chứa n số nguyên dương d1, d2, …, dn (1 <= di <= 10000)

Output: ATM.OUT

  • Dòng 1: chứa số nguyên K là tổng số tờ tiền ít nhất.
  • Dòng 2: chứa n số nguyên k1, k2, …, kn là số lượng tờ tiền tương ứng với các mệnh giá d1, d2, …, dn

Ví dụ

ATM.INP

ATM.OUT

3 35

1 2 4

10

1 1 8

Back to Top