Cod sursa(job #980703)

Utilizator thewildnathNathan Wildenberg thewildnath Data 5 august 2013 14:52:08
Problema Branza Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

inline int min(int a,int b)
{
    return a<b?a:b;
}

int c[100002],p[100002],f[100002];

int main()
{
    freopen("branza.in","r",stdin);
    freopen("branza.out","w",stdout);
    int n,s,t,sol=0,m,i,j,aux;
    scanf("%d%d%d",&n,&s,&t);
    for(i=1;i<=n;++i)
        scanf("%d%d",&p[i],&c[i]);
    for(i=1;i<=n;++i)
    {
        if(f[i]==0)
            sol+=p[i]*c[i];
        m=min(i+t-1,n);
        for(j=i+1;j<=m;++j)
        {
            aux=p[i]+s*(j-i);
            if(aux<p[j])
            {
                f[j]=1;
                sol+=aux*c[j];
            }
            else
                break;
        }
    }
    printf("%d\n",sol);
}