Cod sursa(job #773996)

Utilizator hiepsieunhanhiepsieunhan hiepsieunhan Data 3 august 2012 10:36:41
Problema Branza Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.34 kb
CONST
        TFI     =       'branza.in';
        TFO     =       'branza.out';
VAR
        N,S,T   :       longint;
        res     :       int64;
        c,p,q   :       array[1..100000] of longint;
        fi,fo   :       text;
{************************************************************************}
Procedure nhap;
  Var
        i       :       longint;
  BEgin
        Assign(fi,tfi); reset(fi);
                read(fi,n,s,t);
                For i:=1 to n do read(fi,c[i],p[i]);
        Close(fi);
  End;
{************************************************************************}

Procedure xuli;
  Var
        i,l,r   :       longint;
  Begin
        res:=0;
        l:=1; r:=0;
        For i:=1 to n do
          begin
                While (l<=r) and (c[i]-i*s<c[q[r]]-q[r]*s) do dec(r);
                inc(r); q[r]:=i;
                While (l<=r) and (q[l]<i-t) do inc(l);
                res:=res+(int64(c[q[l]])-int64(q[l]*s))*int64(p[i])+int64(i*s*p[i]);

          end;
  End;
{************************************************************************}

Procedure inkq;
  Begin
        Assign(fo,tfo); rewrite(fo);
                write(fo,res);
        Close(fo);
  End;
{************************************************************************}

BEGIN
        nhap;
        xuli;
        inkq;
END.