Cod sursa(job #2620051)

Utilizator DenisaCantuCantu Denisa DenisaCantu Data 28 mai 2020 15:21:37
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int n, s, t, k;
int v[100005];
long long sum;
deque <int> d;
int main()
{
    f >> n >> s >> t;

    for(int i = 1; i <= n; i++)
    {
        f >> v[i] >> k;
        if(!d.empty() && d.front() == i - t) ///daca s a depasit nr de t zile
            d.pop_front();
        while(!d.empty() && 1LL * (v[d.back()] + (i-d.back()) * s >)= v[i] ) ///daca costul minim + taxa de depoazitare >= costul curent
            d.pop_back();
        d.push_back(i);

        sum += 1LL * k * (v[d.front()] + 1LL * (i-d.front()) * s);

    }
    g << sum;
    return 0;
}