⻔票找零
题⽬描述
⼀个不知名的景点,⻔票售价
5
美元。有
n
名游客排队购买⻔票,
每⼈仅购买⼀张,然后向你付
5
美元、
10
美元或
20
美元。你必须给每个顾客正确找零。
注意,⼀开始你⼿头没有任何零钱。
如果你能给所有顾客正确找零,返回
true
,否则返回
false
。
输⼊要求
输⼊有
2
⾏。
第⼀⾏⼀个整数
n,
代表游客⼈数。
(n<105)
第⼆⾏
n
个整数,代表每个游客⽀付的⾦额。
输出要求
如果你能给所有游客找零,输出
"true",
否则输出
"false"
。
输⼊样例 复制
5
5 5 5 10 20
输出样例 复制
true
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,w=0,s=0,e=0;//w:5 s:10 e:20
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
if(x==5){
w++;
}else if(x==10){
w--;
s++;
}else if(x==20){
if(s>0){
s--;
w--;
}else{
w-=3;
}
}
if(w<0){
cout<<"false";
return 0;
}
}
cout<<"true";
return 0;
}