Rút tiền ATM
Xem dạng PDFMô tả và yêu cầu
Có một máy rút tiền tự động ATM, trong máy đang có tổng cộng 𝐾 đơn vị tiền. Có 𝑁 người
(được đánh số thứ tự từ 1 đến 𝑁) xếp hàng để rút tiền tại máy ATM, người thứ 𝑖 (𝑖 = 1. .𝑁) cần
rút 𝑎𝑖 đơn vị tiền.
Mọi người lần lượt đi vào rút tiền, theo thứ tự chỉ số tăng dần. Khi có một người vào rút
tiền, máy ATM sẽ trả lại đúng số tiền mà người đó cần rút nếu máy có tối thiểu số tiền của
người cần rút, trong trường hợp ngược lại máy sẽ báo lỗi và không đưa tiền. Sau khi rút tiền
(cho dù có nhận được tiền hay không) người đó ngay lập tức rời khỏi hàng để người tiếp theo
vào rút tiền.
Yêu cầu: Đối với mỗi người, hãy cho biết người đó nhận được số tiền cần rút hay không?
Dữ liệu vào
+ Dòng đầu tiên ghi 2 số nguyên dương 𝑁 và 𝐾 (1 ≤ 𝑁 ≤ 105; 1 ≤ 𝐾 ≤ 109).
+ Dòng thứ 2 lần lượt ghi 𝑁 số nguyên dương 𝑎1, 𝑎2, … ,𝑎𝑁 (1 ≤ 𝑎𝑖 < 109; 𝑖 = 1. .𝑁)
Dữ liệu ra
Ghi một dòng duy nhất chứa 𝑁 chữ số liên tiếp nhau trong đó nếu người thứ 𝑖 nhận được
tiền cần rút thì số thứ 𝑖 ghi 1, ngược lại nếu người thứ 𝑖 không nhận được số tiền cần rút thì chữ
số thứ 𝑖 ghi 0.
Ví dụ
Input output
5 10 11010
3 5 3 2 1
Giải thích
Máy ATM ban đầu có 10 đơn vị tiền. Người thứ nhất đến và rút 3 đơn vị nên trong máy còn
lại 7 đơn vị tiền, người thứ 2 đến rút 5 đơn vị nên trong máy còn lại 2 đơn vị tiền, người thứ 3
không rút được tiền (vì cần rút 3 đơn vị tiền mà trong máy chỉ còn 2 đơn vị tiền), người thứ 4
rút 2 đơn vị tiền nên trong máy còn 0 đơn vị tiền, người thứ 5 không rút được tiền (vì cần rút 1
đơn vị tiền mà trong máy hết tiền).
Bình luận