Cod sursa(job #911891)

Utilizator assa98Andrei Stanciu assa98 Data 11 martie 2013 22:27:36
Problema Branza Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
using namespace std;

long long d[100100];

long long s,t;

long long sol;

long long a[100100],b[100100];

int beg;
int end;

int main()
{
    freopen("branza.in","r",stdin);
    freopen("branza.out","w",stdout);
    int n;
    scanf("%d%lld%lld",&n,&s,&t);
    beg=1;
    for(int i=1;i<=n;i++)
    {
        scanf("%lld%lld",&a[i],&b[i]);
        d[++end]=i;
        if(i-d[beg]>t)
            beg++;
        while(beg<end&&a[d[beg]]+(i-d[beg])*s>a[d[end]])
            beg++;
        sol+=(a[d[beg]]+(i-d[beg])*s)*b[i];
    }
    printf("%lld",sol);
    return 0;
}