Pagini recente » Cod sursa (job #1326709) | Cod sursa (job #851099) | Cod sursa (job #559480) | Cod sursa (job #536206) | Cod sursa (job #95560)
Cod sursa(job #95560)
#include <stdio.h>
long long c[100001],p[100001],min[100001];
int main()
{
long long n=0,s=0,t=0,i=0,j=0,temp=0,sum=0;
FILE *in = fopen ("branza.in","r");
FILE *out = fopen ("branza.out","w");
fscanf(in,"%lld%lld%lld",&n,&s,&t);
for (i=0; i<n; i++)
fscanf(in,"%lld%lld",&c[i],&p[i]);
fclose(in);
for (i=0; i<n; i++)
{
if (min[i]==0 || min[i]>c[i]*p[i])
min[i]=c[i]*p[i];
for (j=i+1, temp=s; j<n && j<=i+t; j++, temp+=s)
if (min[j]==0 || min[j]>c[i]*p[j]+p[j]*temp)
min[j]=c[i]*p[j]+p[j]*temp;
}
for (i=0, sum=0; i<n; i++)
sum+=min[i];
fprintf(out,"%lld\n",sum);
fclose(out);
return 0;
}