Cod sursa(job #774021)
Utilizator | hiepsieunhan hiepsieunhan | Data | 3 august 2012 11:06:40 |
---|---|---|---|
Problema | Branza | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 1.18 kb |
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.