Cod sursa(job #2885602)

Utilizator fredtuxFlorin Dinu fredtux Data 6 aprilie 2022 12:04:34
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <deque>

using namespace std;



int main() {
    ifstream fin ("branza.in");
    int n,s,t;
    int result;
    fin >> n >> s >> t;

    deque<int> branza;
    int q, cost[1000001];

    for(int i = 1; i <= n; ++i){
        fin >> cost[i] >> q;

        // Expirat
        while(!branza.empty() && branza.front() < i - t)
            branza.pop_front();

        // Rentabilitate
        while(!branza.empty() && cost[branza.back()] + (i - branza.back()) * s > cost[i])
            branza.pop_back();

        branza.push_back(i);

        result += q * (cost[branza.front()] + (i - branza.front()) * s);
    }

    fin.close();
    ofstream fout("branza.out");
    fout << result;
    fout.close();

    return 0;
}