Pagini recente » Cod sursa (job #853968) | Cod sursa (job #3123886) | Cod sursa (job #1470968) | Cod sursa (job #2591453) | Cod sursa (job #334949)
Cod sursa(job #334949)
#include <stdio.h>
#define Nmax 100100
int n,s,t,inc=1,sf=0,cost;
struct coada{
int nr,poz;
};
coada q[Nmax];
int main()
{
int i,x,y;
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",&x,&y);
while(q[inc].poz <=i-t && inc<=sf)
++inc;
while(inc<=sf && ((i-q[sf].poz)*s+q[sf].nr)>x)
--sf;
q[++sf].poz=i;
q[sf].nr=x;
cost+=y*(q[inc].nr+s*(i-q[inc].poz));
}
printf("%d",cost);
return 0;
}