Pagini recente » Cod sursa (job #1602110) | Cod sursa (job #1337617) | Cod sursa (job #216940) | Cod sursa (job #3185231) | Cod sursa (job #324007)
Cod sursa(job #324007)
var c,deque,p:array[1..100000] of qword;
f,g:text;
t,n,i,back,front:longint;
s,suma,aux,aux2:qword;
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;
aux:=c[deque[front]]+(i-deque[front])*s;
aux2:=p[i];
aux:=aux*aux2;
suma:=suma+aux;
end;
writeln(g,suma);
close(f); close(g);
end.