Cod sursa(job #2889220)

Utilizator Iordache_AnaIordache Ana-Georgiana Iordache_Ana Data 12 aprilie 2022 14:27:47
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
deque <int> coada;
int main()
{
    long long N,S,T,suma=0,i,cantitate;
    f>>N>>S>>T;
    long long pret[N+1];
    for (i=1; i<=N; i++)
    {
        f>>pret[i]>>cantitate;
        while(coada.size()>0 && coada.front()<i-T)
            coada.pop_front();
        while(coada.size()>0 && ((i-coada.back())*S +pret[coada.back()])>pret[i])
            coada.pop_back();
        coada.push_back(i);
        suma+=cantitate*(pret[coada.front()]+S*(i-coada.front()));
    }
    g<<suma;
    f.close();
    g.close();
    return 0;
}