Cod sursa(job #1113887)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 20 februarie 2014 23:59:06
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long sol,n,s,t,p,u,pi,i;
long long d[100010],v[100010];
int main () {

    f>>n>>s>>t;

    p=1;u=0;

    for (i=1;i<=n;i++) {
        f>>v[i]>>pi;
        while(p<=u && v[i]<=(v[d[u]]+s*(i-d[u])))
            u--;
        d[++u]=i;
        while (d[p]<i-t)
            p++;
        sol+= (v[d[p]]+s*(i-d[p]))*pi;
    }

    g<<sol<<"\n";

    return 0;
}