Cod sursa(job #2729291)

Utilizator realmeabefirhuja petru realmeabefir Data 24 martie 2021 15:54:41
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

int main()
{
    int n, s, t;
    f >> n >> s >> t;
    int p, c;

    deque<pair<pair<long long,long long>,long long>> dq;

    long long int total=0;

    for (int i = 1; i <= n; i++){
        f >> p >> c;
        while (dq.size() && dq.back().first.first + (i-dq.back().second) *s > p)
            dq.pop_back();
        if (dq.size() && i-dq.front().second > t)
            dq.pop_front();

        dq.push_back({{p,c},i});
        total += dq.front().first.first*c + c*(i-dq.front().second)*s;

    }

    g << total;

    return 0;
}