Cod sursa(job #68054)

Utilizator razvi9Jurca Razvan razvi9 Data 26 iunie 2007 12:48:21
Problema Branza Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
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;}