Cod sursa(job #2213084)

Utilizator lucaperjuLuca Perju Verzotti lucaperju Data 15 iunie 2018 16:54:51
Problema Branza Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream in ("branza.in");
ofstream out ("branza.out");
long long d[100003],v[100003];
int main()
{
    long long n,s,t,i,st=0,dr=-1,sm=0,p;
    in>>n>>s>>t;
    for(i=1;i<=n;++i)
    {
        in>>v[i]>>p;
        if(d[st]==i-t)
            ++st;
        while(st<=dr && v[i]<=v[d[dr]]+(i-d[dr])*s)
            --dr;
        d[++dr]=i;
        sm+=p*(v[d[st]]+(i-d[st])*s);
    }
    out<<sm;
    return 0;
}
/*
                                                                                                                                                                                                                                          not Andreescu xD
*/