Cod sursa(job #773979)

Utilizator yoyoyoYoYoYo yoyoyo Data 3 august 2012 08:10:35
Problema Branza Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.46 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+(c[q[l]]-q[l]*s)*p[i]+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.