#B8. 阿强卖柠檬水
阿强卖柠檬水
题目描述
阿强在夏日集市上摆摊卖柠檬水,每杯售价 5 元。顾客们排成一条长队,依次购买柠檬水。每位顾客只会买一杯,并且会支付一张面额为 5 元、10 元或 20 元的钞票。
阿强刚开始时没有任何零钱。他必须给每位顾客找零,使得每位顾客实际支付的净金额为 5 元。例如:
- 如果顾客支付 5 元,无需找零。
- 如果顾客支付 10 元,阿强需要找回一张 5 元。
- 如果顾客支付 20 元,阿强需要找回 15 元。这可以通过一张 10 元和一张 5 元,或者三张 5 元来实现。
阿强希望知道,按照当前顾客的排队顺序和支付金额,他是否能成功给每一位顾客正确找零?如果能,输出 "YES";否则,一旦遇到无法找零的顾客,立即停止并输出 "NO"。
注意:阿强应该优先使用大面额钞票找零吗?对于 20 元的找零,优先使用 10+5 的组合通常比 5+5+5 更优,因为 5 元钞票在找零 10 元时是必须的,而 10 元钞票只能用于找零 20 元。这是一种贪心策略。
输入格式
第一行包含一个整数 ,表示顾客的数量。 第二行包含 个整数,每个整数只能是 5、10 或 20,按顺序表示每位顾客支付的钞票面额。
数据范围:
- 账单金额仅限
输出格式
输出一个字符串。如果阿强能给所有顾客正确找零,输出 "YES";否则输出 "NO"。
5
5 5 10 10 20
NO