Cod sursa(job #68055)
| Utilizator | Data | 26 iunie 2007 12:51:55 | |
|---|---|---|---|
| Problema | Branza | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<stdio.h>
unsigned long long x;
int n,t,s,p[100001],c[100001],i,j,a,k;
int main()
{freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d %d %d",&n,&s,&t);
for(i=1;i<=n;i++)
scanf("%d %d",&p[i],&c[i]);
k=t+1;
for(i=1;i<=n;i++,a=a+s,k++)
{if(k>t)
{a=p[i];k=0 ;
for(j=1;j<=t && i-j>0;j++)
if(p[i-j]+s*j < a)
{a=p[i-j]+s*j;k=j;}
}
if(p[i]<a) {a=p[i];k=0;}
x=x+a*c[i];}
printf("%lld",x);
fclose(stdout);
return 0;}
