Cod sursa(job #123699)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 17 ianuarie 2008 09:37:26
Problema Bilute Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.71 kb
var fi,fo:text;
    c,l:array[1..30000]of byte;
    s1,s2:array[0..30000]of int64;
    rez,culoare,min,n,suma:int64;
    i:longint;
begin
  assign(fi,'bilute.in'); reset(fi);
  assign(fo,'bilute.out'); rewrite(fo);
  read(fi,n);
  suma:=0; s1[0]:=0; s2[0]:=0;
  for i:=1 to n do
    begin
      read(fi,c[i],l[i]);
      suma:=suma+c[i]*l[i];
      s1[i]:=s1[i-1]+c[i];
      s2[i]:=s2[i-1]+i*c[i];
    end;
  min:=2000000000000000;
  for i:=1 to n do
    begin
      rez:=suma-c[i]*l[i]+i*s1[i-1]-s2[i-1]+(s2[n]-s2[i]-i*(s1[n]-s1[i]));
      if min>rez then
        begin
          min:=rez;
          culoare:=i;
        end;
    end;
  writeln(fo,culoare,' ',min);
  close(fi);
  close(fo);
end.