Cod sursa(job #2888395)

Utilizator mirceaspPetcu Mircea mirceasp Data 11 aprilie 2022 00:50:08
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int main()
{
    long long n,sapt,timp,cost,cerere,i,suma;
    f>>n>>sapt>>timp;
    deque<long long>dv;
    deque<long long >dp;
    i = 1;
    suma = 0;
    while (f>>cost>>cerere) {
        while (!dp.empty() && !dv.empty() && cost<= dv.back()+sapt*(i-dp.back())) {
            dv.pop_back();
            dp.pop_back();
        }
        dv.push_back(cost);
        dp.push_back(i);
        if(i>=timp)
            suma += cerere*(dv.back() + sapt*(i-dp.back()));
        if(dp.front() <= i-timp) {
            dv.pop_front();
            dp.pop_front();
        }


        i++;

    }
    g<<suma-1;
    return 0;
}