Cod sursa(job #3137609)

Utilizator SSKMFSS KMF SSKMF Data 13 iunie 2023 20:13:14
Problema Zombie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <queue>
using namespace std;

ifstream cin ("zombie.in");
ofstream cout ("zombie.out");

queue <int> strada;

int main ()
{
    int distanta , lungime , cost;
    cin >> distanta >> lungime >> cost;

    long long cost_total = 0;
    for (int indice = 1 , aparitie ; indice <= lungime ; indice++)
    {
        cin >> aparitie;

        if (!strada.empty() && aparitie - strada.front() > distanta)
        {
            if ((int)strada.size() > cost) {
                while (!strada.empty())
                    strada.pop();

                cost_total += cost;
            }
            else while (!strada.empty() && aparitie - strada.front() > distanta)
                cost_total++ , strada.pop();
        }

        strada.push(aparitie);
    }

    if ((int)strada.size() > cost)
        cost_total += cost;
    else
        cost_total += strada.size();

    cout << cost_total;
    cout.close(); cin.close();
    return 0;
}