Cod sursa(job #1493228)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 28 septembrie 2015 21:20:40
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <cstdio>
long long c[100023],poz=0,p[100023],n,s,t;
long long i1=1,i2=0,deq[100023];
int main()
{
    freopen ("branza.in","r",stdin);
    freopen ("branza.out","w",stdout);
    scanf("%lld%lld%lld",&n,&s,&t);
    long long sum=0;
    for(int i=1;i<=n;i++)
    {
        scanf("%lld%lld",&c[i],&p[i]);
        while(i2>=i1&&c[i]<=c[deq[i2]]+s*(i-deq[i2])) i2--;
        i2++;
        deq[i2]=i;
        sum+=(c[deq[i1]]+s*(i-deq[i1]))*p[i];
        if(deq[i1]+t<=i) i1++;
    }
    printf("%lld\n",sum);
}