Cod sursa(job #125121)

Utilizator mlazariLazari Mihai mlazari Data 20 ianuarie 2008 11:31:26
Problema Inundatii Scor 10
Compilator fpc Status done
Runda preONI 2008, Runda 3, Clasele 11-12 Marime 1.03 kb
Program Inundatii;
type Point=record
             x,y,z : longint;
           end;

var C : array[1..50000] of Point;
    n : longint;
    rez : longint;

procedure Citeste;
var Intrare : text;
    i : longint;
begin
  assign(Intrare,'inundatii.in');
  reset(Intrare);
  readln(Intrare,n);
  for i:=1 to n do
   with C[i] do readln(Intrare,x,y,z);
  close(Intrare);
end;

procedure Calculeaza;
var im,i,ix,iy,iz : longint;
begin
  rez:=0;
  im:=n div 2+1;
  ix:=C[im].x;
  iy:=C[im].y;
  iz:=C[im].z;
  for i:=im+1 to n do
   begin
     ix:=ix+1;
     iy:=iy+1;
     iz:=iz+1;
     rez:=rez+ix-C[i].x+iy-C[i].y+iz-C[i].z;
   end;
  ix:=C[im].x;
  iy:=C[im].y;
  iz:=C[im].z;
  for i:=im-1 downto 1 do
   begin
     ix:=ix-1;
     iy:=iy-1;
     iz:=iz-1;
     rez:=rez+C[i].x-ix+C[i].y-iy+C[i].z-iz;
   end;
end;

procedure Scrie;
var Iesire : text;
begin
  assign(Iesire,'inundatii.out');
  rewrite(Iesire);
  write(Iesire,rez);
  close(Iesire);
end;

begin
  Citeste;
  Calculeaza;
  Scrie;
end.