Cod sursa(job #2320829)

Utilizator RaduIonescuRadu Ionescu RaduIonescu Data 15 ianuarie 2019 10:23:15
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int QQQ=100001;

long long N,S,T,dq[QQQ],v[QQQ],p,sum,st,dr=-1;

int main()
{
    in>>N>>S>>T;

    for (int i=1;i<=N;i++)
    {
        in>>v[i]>>p;

        if(dq[st]==i-(T+1)) ++st;

        while(st<=dr&&v[i]<=(v[dq[dr]]+(i-dq[dr])*S))   --dr;

        dq[++dr]=i;

        sum+=p*(v[dq[st]]+(i-dq[st])*S);
    }

    out<<sum;

    return 0;
}