Pagini recente » Cod sursa (job #2488188) | Cod sursa (job #1142604) | Cod sursa (job #2869731) | Cod sursa (job #668145) | Cod sursa (job #420058)
Cod sursa(job #420058)
#include<stdio.h>
FILE *f=fopen("branza.in","r");
FILE *g=fopen("branza.out","w");
long long i,j,m[100001],n,t,s,rez;
long long c[100001],w[1000001];
long long deque[100001],u,p;
int main(){
//***citire***//
fscanf(f,"%lld%lld%lld",&n,&s,&t);
for(i=1;i<=n;i++)
fscanf(f,"%lld%lld",&c[i],&w[i]);
//***dinamica***//
p=1;
for(i=1;i<=n;i++) // m[i]=costul minim pt a cumpara un kg de branza in ziua i
{ j=i-t;
deque[i]=c[i];
while(p<i&&( i-p>t || deque[p]+(i-p)*s > deque[i] ) )
p++;
m[i]=deque[p]+(i-p)*s;
}
for(i=1;i<=n;i++)
rez+=m[i]*w[i];
fprintf(g,"%lld",rez);
return 0;
}