Cod sursa(job #774021)

Utilizator hiepsieunhanhiepsieunhan 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.