学军电影院
时间:1s 空间:256M
题目描述:
学军电影院暑期档大片“学军熊猫”正在热映,票价25元,现在有很多oier即将来买票,oier都是极简主义者,因此每个人手里只有一张纸币,纸币的面值是100,50,25当中的一种,学军中学已经实现了自动售票,电影院门口放了一台自动售票机,但不巧的是,今天自动售票机里面没有零钱了,现在问你,已知n个oier所带的纸币的信息,以及他们到来的顺序,自动售票机能否在没有钱的情况下完成找钱功能。
(假设纸币投入机器后,会在下一个买票人之前,由工作人员换为对应数量的1元零钱。例如第一个人将1张25元的纸币投入机器后,在第二个人买票时,机器里是25个1元的零钱)
输入格式:
多组测试数据。
每组测试数据先输入一个n,表示买票的总人数,接下来一行输入n个正整数。表示每个人手里的纸币面值。
输出格式:
对于每组测试数据
输出”YES”,如果可以完成找钱功能
输出”NO”,如果不能完成找钱功能。
样例输入:
4 25 25 50 50 2 25 100 4 50 50 25 25
样例输出:
YES NO NO
约定:
1<=n<=105
提示:
第一组数据:先来了两个人手里都有25元钱,都不用找,现在机器里面一共有了两张25,接下来两个人手里都有一张50,每个人分别找回去25。找钱成功。
第二组数据:第一个人来,不用找钱,第二个人来,要找75,发现零钱不够了,所以找钱失败。
第三组数据:第一个人给50,机器里面一开始没有钱,没法找零,所以找钱失败。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
while(cin>>n){
bool flag=0;
int sum=0;
for(int i=1;i<=n;i++){
int x;
cin>>x;
if(sum<(x-25)){
flag=1;
break;
}
sum=sum+25;
}
if(flag==0){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
return 0;
}