Cod sursa(job #3239704)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 7 august 2024 13:12:08
Problema Branza Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long n,s,t,pret,i,c,p;
struct sap{
    long long p,z;
};
deque <sap> brz;
int main()
{
    fin>>n>>s>>t;
    for(i=1;i<=n;i++){
        fin>>p>>c;
        while(!brz.empty() && i - brz.front().z > t)
            brz.pop_front();
        while(!brz.empty() && c * p <= c * (brz.front().p + (i - brz.front().z) * s))
            brz.pop_front();

        if(!brz.empty())
            pret += c * (brz.front().p + (i - brz.front().z) * s);
        else
            pret += c * p;

        brz.push_back({p,i});
    }
    fout<<pret;
    return 0;
}