Cod sursa(job #1493180)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 28 septembrie 2015 20:29:41
Problema Branza Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <cstdio>
int c[100023],p[100023],n,s,t;
long long 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]=1000000000000;
        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);
}