Cod sursa(job #3127170)

Utilizator Cipy34Harnagea Ciprian Cipy34 Data 7 mai 2023 13:09:02
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
using namespace std;

int main()
{
    ifstream fin("branza.in");
    ofstream fout("branza.out");
    int n, s, t, cost;
    deque <int> d;
    fin>>n>>s>>t;

    vector <long long> c(n+2), p(n+2);
    for(int i = 1; i <= n; i++)
        fin>>c[i]>>p[i];

    for(int i = 1; i <= n; i++){

        while(d.empty() == false &&
              (c[d.back()] + s*(i - d.back())) > c[i])
            d.pop_back();

        d.push_back(i);

        while(d.empty() == false && i-d.front() > t)
            d.pop_front();

        cost = cost + p[i] * c[d.front()] + s*p[i]*(i-d.front());
        cout<<cost<<" ";
    }
    cout<<cost;
    fin.close();
    fout.close();
    return 0;
}