Cod sursa(job #67601)

Utilizator mlazariLazari Mihai mlazari Data 25 iunie 2007 12:30:16
Problema Branza Scor 30
Compilator fpc Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 0.88 kb
Program Branza;
var S : integer;
    N,T : longint;
    C,P : array[1..100000] of real;
    costmin : real;

procedure Citeste;
var Intrare : text;
    i : longint;
begin
  assign(Intrare,'branza.in');
  reset(Intrare);
  readln(Intrare,N,S,T);
  for i:=1 to n do readln(Intrare,C[i],P[i]);
  close(Intrare);
end;

procedure Calculeaza;
var min,posmin : real;
    i,j,imin : longint;
begin
  costmin:=0.0;
  for i:=1 to N do
   begin
     min:=C[i]*P[i];
     if i>T then imin:=i-T else imin:=1;
     for j:=imin to i-1 do
      begin
        posmin:=((i-j)*S+C[j])*P[i];
        if posmin<min then min:=posmin;
      end;
     costmin:=costmin+min;
   end;
end;

procedure Scrie;
var Iesire : text;
begin
  assign(Iesire,'branza.out');
  rewrite(Iesire);
  write(Iesire,costmin:0:0);
  close(Iesire);
end;

begin
  Citeste;
  Calculeaza;
  Scrie;
end.