Cod sursa(job #2625893)

Utilizator dumitru123Patularu Mihai dumitru123 Data 6 iunie 2020 10:44:51
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
#define nmax 100003
long long n, s, t, k, sol, v[nmax];
deque <long long> d;
int main()
{
    f >> n >> s >> t;
    for(int i = 1; i <= n; i++)
    {
        f >> v[i] >> k;
        if(!d.empty() && i - d.front() >  t) //daca au trecut cele t zile
            d.pop_front();
        while(!d.empty() &&  (v[d.back()] + (i-d.back()) * s ) >= v[i] )
            d.pop_back();
        d.push_back(i);
        sol += k * (v[d.front()] + (i-d.front()) * s);
    }
    g << sol;
    return 0;
}