Решение задачи Очередь в кино с Codeforces

Без пояснения   Просмотров: 86


Только-только вышел новый фильм про «Крепкого орешка», а у кассы за билетами в кино n человек уже выстроились в огромную очередь. Каждый из них имеет только одну купюру номиналом 100, 50 или 25 рублей. Билет на «Крепкого орешка» стоит 25 рублей. Сможет ли кассир, обслуживающий очередь, продать каждому билет и выдать сдачу, если изначально в кассе нет денег и кассир продает билеты строго в порядке очереди?


Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, b25 = 0, b50 = 0;
    cin >> n;
    vector<int> a(n);
    for(int i = 0; i < n; ++i){
        cin >> a[i];
        if(a[i] == 25)
            ++b25;
        if(a[i] == 50){
            ++b50;
            b25--;
        }
        else if(a[i] == 100){
            if(b50 >= 1 && b25 >= 1)
                b50--, --b25;
            else
                b25-=3;
        }
        if(b25 < 0 || b50 < 0){
            cout << "NO";
            return 0;
        }
    }
    cout << "YES";
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться