托米历险记

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述 

这天,托米家的电影院门口排起了长队--因为最新的电影"托米历险记"就要上映了!
每个人都 有且仅有一张面值为25或50或100元的钞票.一张电影票的价格是25元.
托米想知道售票员能否在初始金钱为0并且按排队顺序售票的情况下完成找零.

输入描述:

第一行一个数字n,表示排队的人的数量.
第二行n个数字,第i个数字为ai,表示队伍中第i个人所持有的钞票的面值.

输出描述:

如果售票员能完成找零,输出"YES"(不含引号).
反之输出"NO".
示例1

输入

复制
4
25 25 50 50

输出

复制
YES
示例2

输入

复制
4
50 50 25 25

输出

复制
NO

备注:

1≤n≤105

题解:模拟    现在一般都是签完到,就闪人...所以说签到题

n=int(input())
m_25=0
m_50=0
a=list(map(int,input().split()))
for i in range(n):
    if a[i]==25:m_25+=1
    elif a[i]==50:
        if m_25>0:
            m_25-=1
            m_50+=1
        else:
            print("NO")
            exit()
    else:
        if m_50>0 and m_25>0:
            m_50-=1
            m_25-=1
        elif m_25>=3:
            m_25-=3
        else:
             print("NO")
             exit()
print("YES")

猜你喜欢

转载自blog.csdn.net/memory_qianxiao/article/details/80712419
今日推荐