Cod sursa(job #3126478)

Utilizator stefanmo03Mocanu Stefan stefanmo03 Data 6 mai 2023 17:50:06
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
//#include <iostream>
#include <fstream>
#include<deque>

using namespace std;
std::ifstream cin("branza.in");
std::ofstream cout("branza.out");
struct sapt{
    int cost,pozitie;
    sapt(int c,int p):cost(c),pozitie(p){};
    ~sapt() = default;
};
int main() {
    deque<sapt> minim;
    int nr_sapt, cost_depozitare,timp_depozitare,cost_total=0;
    cin>>nr_sapt>>cost_depozitare>>timp_depozitare;
    for(int i = 0; i < nr_sapt; i++){
        int cost_productie,vanzare;
        cin>>cost_productie>>vanzare;
        if(!minim.empty() && minim.back().cost+cost_depozitare*(i-minim.back().pozitie) > cost_productie)minim.pop_back();
        minim.push_back(sapt(cost_productie,i));
        while(i-minim.front().pozitie >= timp_depozitare)minim.pop_front();
        cost_total+=vanzare * minim.front().cost + vanzare* cost_depozitare * (i-minim.front().pozitie);

    }
    cout<<cost_total;
    return 0;
}