Cod sursa(job #3126203)

Utilizator Alexandra789Alexandra Uceanu Alexandra789 Data 6 mai 2023 12:49:36
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <deque>

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

int main(){
    int n, t, s;
    long long c, p, cTotal = 0;

    std::deque<std::pair<long long, long long>> deq;
    f >> n >> s >> t;

    for(int i = 0; i < n; i++){
        if(!deq.empty() &&  i > deq.front().second + t)
            deq.pop_front();

        f >> c >> p;
        
        while(!deq.empty() && (s * (i - deq.back().second) + deq.back().first) >= c)
        	deq.pop_back();

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

    g << cTotal;
    f.close();
    g.close();
    return 0;
}