codeforces #202(div2) A
有n个人去看买票,每张票25元,顾客的钱有3种,25 50 100 ,在不改变的队列以及售票员手中开始没有钱的情况下,能否使得所有人都能买到票
模拟就行了
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; typedef long long ll; int d[maxn]; int main(){ int n,cnt1=0,cnt2=0; cin>>n; for(int i=0;i<n;i++)cin>>d[i]; //sort(d,d+n); bool flag=1; for(int i=0;i<n;i++){ if(d[i]==25)cnt1++; else if(d[i]==50){ if(cnt1==0){ flag=0;break; } cnt2++;cnt1--; } else{ if(cnt2>=1&&cnt1>=1)cnt2--,cnt1--; else if(cnt1>=3)cnt1-=3; else{ flag=0;break; } } } if(flag)puts("YES"); else puts("NO"); return 0; }