Pagini recente » Cod sursa (job #310523) | Cod sursa (job #2712082) | Cod sursa (job #1537229) | Cod sursa (job #2927322) | Cod sursa (job #323984)
Cod sursa(job #323984)
var c,deque,p:array[1..100000] of longint;
f,g:text;
s,t,n,i,back,front:longint;
suma:int64;
begin
assign(f,'branza.in'); reset(f);
assign(g,'branza.out'); rewrite(g);
read(f,n,s,t);
for i:=1 to n do
read(f,c[i],p[i]);
front:=1; back:=0; suma:=0;
for i:=1 to n do begin
while (front<=back) and (c[i]<=c[deque[back]]+(i-deque[back])*s) do
back:=back-1;
back:=back+1;
deque[back]:=i;
if (deque[front]=i-t) then
front:=front+1;
suma:=suma+c[deque[front]]*p[i]+(i-deque[front])*s*p[i];
end;
writeln(g,suma);
close(f); close(g);
end.