Pagini recente » Cod sursa (job #1098697) | Cod sursa (job #633754) | Cod sursa (job #939971) | Cod sursa (job #232143) | Cod sursa (job #774029)
Cod sursa(job #774029)
Const
tfi = 'branza.in';
tfo = 'branza.out';
type
arr1 = array[1..100000] of longint;
var
fi,fo : text;
n,s,t,f,r: longint ;
st,c,p : arr1 ;
res : int64 ;
i : longint;
BEGIN
assign(fi,tfi);reset(fi);
assign(fo,tfo);rewrite(fo);
Read(fi,n,s,t);
read(fi,c[1],p[1]);
for i:=2 to n do
begin
Read(fi,c[i],p[i]);
res:=res+p[i]*s*i;
end;
f:=1;
r:=1;
st[1]:=1;
res:=res+c[1]*p[1];
for i:=2 to n do
begin
If (f<=r) and (i-st[f]>t) then inc(f);
while (f<=r) and (c[i]-s*i<c[st[r]]-s*st[r]) do dec(r);
inc(r);
st[r]:=i;
res:=res+p[i]*(c[st[f]]-s*st[f]);
end;
write(fo,res);
close(fo);
close(fi);
END.