题目并不难,不过要整理好思路 (依次判断25的个数、50的个数),依然需要一个true 和false的判断变量。
n = int(raw_input())
money = map(int,raw_input().split())
price_25 = 0
price_50 = 0
price_100 = 0
result = True
for item in money:
if item == 25:
price_25 += 1
elif item == 50:
price_50 += 1
if price_25 >= 1:
price_25 -= 1
else:
result = False
break
elif item == 100:
if price_50 >=1 and price_25 >=1:
price_50 -= 1
price_25 -= 1
elif price_25 >=3:
price_25 -=3
else:
result = False
break
if result == False:
print "NO"
else:
print "YES"