Cod sursa(job #2727086)

Utilizator StarkillerCalin Stafie Starkiller Data 21 martie 2021 13:54:04
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("branza.in");
ofstream gout("branza.out");

deque <pair<int, int>> dcoada;
int n, S, T, i, c, p;
long long cost_total;

int main()
{
    fin >> n >> S >> T;
    for(i = 1; i <= n ; ++i)
    {
        fin >> c >> p;
        while(!dcoada.empty() and (i - dcoada.front().second) > T)
            dcoada.pop_front();
        while (!dcoada.empty() and c < dcoada.back().first + S * (i - dcoada.back().second))
            dcoada.pop_back();
        dcoada.push_back({c, i});
        cost_total += p * (dcoada.front().first + S * (i - dcoada.front().second));
    }
    gout << cost_total;

    return 0;
}