Cod sursa(job #2888655)

Utilizator AnaTurcituTurcitu Ana-Maria AnaTurcitu Data 11 aprilie 2022 18:24:55
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <deque>

std::ifstream f("branza.in");
std::ofstream g("branza.out");

int N, S, T, c[100001], p[100001], cost=0;
std::deque<int>x;

int main()
{
    int i;
    f >> N >> S >> T;
    for(i=1; i<=N; i++)
        f >> c[i] >> p[i];


    for(i=1; i<=N; i++)
    {
        while(x.empty()==0 && x.front() + T < i)
            x.pop_front();

        while(x.empty()==0 && c[x.back()]+S*(i - x.back()) > c[i])
            x.pop_back();

        x.push_back(i);

        cost += p[i]*(c[x.front()]+(i-x.front())*S);
    }

    g<<cost;
}