Pagini recente » Cod sursa (job #348856) | Cod sursa (job #1293781) | Cod sursa (job #2293607) | Cod sursa (job #1912744) | Cod sursa (job #334960)
Cod sursa(job #334960)
#include <stdio.h>
#define Nmax 100100
long long n,s,t,inc=1,sf=0;
long long cost;
struct coada{
long long nr,poz;
};
coada q[Nmax];
int main()
{
long long i,x,y;
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%lld%lld%lld",&n,&s,&t);
for(i=1;i<=n;++i)
{
scanf("%lld%lld",&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=cost+y*(q[inc].nr+s*(i-q[inc].poz));
}
printf("%lld",cost);
return 0;
}