Rút tiền ATM

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 2.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

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ó ~N~ người (được đánh số thứ tự từ 1 đến ~N~) xếp hàng để rút tiền tại máy ATM, người thứ 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 ~N~ và ~K~ .
  • Dòng thứ 2 lần lượt ghi ~N~ số nguyên dương ~a_1~ ,~a_2~,~a_3~,.....~a_n~ Giới hạn:
  • 1 <= ~N~ <= ~10^6~, 1 <= k <= ~10^9~
  • 1 <= ~a_i~ <= ~10^9~ Kết quả: 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ứ i không nhận được số tiền cần rút thì chữ số thứ i ghi 0.
Ví dụ:
Input
5 10
3 5 3 2 1
output
11010

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).


Comments

Please read the guidelines before commenting.



  • 0
    anhtuan2007  commented on Sept. 27, 2022, 9:19 a.m.

    iloveame