Cod sursa(job #67602)

Utilizator adalLica Adela adal Data 25 iunie 2007 12:30:26
Problema Branza Scor 0
Compilator fpc Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 0.65 kb
program merge;
type rec=record
  s,d:longint;
end;
var f,g:text;
    min,sum,t:int64;
    i,j,n:longint;
    a:array[0..100000] of rec;
    b:array[0..100000] of int64;
begin
  assign(f,'branza.in'); reset(f);
  assign(g,'branza.out'); rewrite(g);
  readln(f,n,sum,t);
  for i:=1 to n do readln(f,a[i].s,a[i].d);
  b[1]:=a[1].s*a[1].d;
  for i:=2 to n do begin
    min:=a[i].s*a[i].d; j:=i-1;
    while (min>(i-j)*sum)and(j>0)and((i-j)<=j*7) do begin
      if ((i-j)*sum*a[i].d+a[j].s*a[i].d)<min then min:=(i-j)*sum*a[i].d+a[j].s*a[i].d;
      dec(j);
    end;
    b[i]:=min+b[i-1];
  end;
  writeln(g,b[n]);

  close(g); close(f);
end.