Cod sursa(job #1493179)

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