Pagini recente » Cod sursa (job #589588) | Cod sursa (job #2148054) | Cod sursa (job #1387817) | Cod sursa (job #950471) | Cod sursa (job #125609)
Cod sursa(job #125609)
var fi,fo:text;
xi,yi,zi:array[1..50000]of int64;
i,j:longint;
n,x,y,z,x1,x2,y1,y2,z1,z2,min:int64;
begin
assign(fi,'inundatii.in'); reset(fi);
assign(fo,'inundatii.out'); rewrite(fo);
read(fi,n);
min:=0;
for i:=1 to n do
read(fi,xi[i],yi[i],zi[i]);
if (n and 1=1) then
begin
x1:=xi[n shr 1 + 1]-1; y1:=yi[n shr 1 + 1]-1; z1:=zi[n shr 1 + 1]-1;
x2:=xi[n shr 1 + 1]+1; y2:=yi[n shr 1 + 1]+1; z2:=zi[n shr 1 + 1]+1;
for i:=n shr 1 downto 1 do
begin
min:=min+abs(xi[i]-x1)+abs(yi[i]-y1)+abs(zi[i]-z1);
dec(x1); dec(y1); dec(z1);
min:=min+abs(xi[n-i+1]-x2)+abs(yi[n-i+1]-y2)+abs(zi[n-i+1]-z2);
inc(x2); inc(y2); inc(z2);
end
end
else
begin
x:=(xi[n shr 1]+xi[n shr 1 + 1]) shr 1;
y:=(yi[n shr 1]+yi[n shr 1 + 1]) shr 1;
z:=(zi[n shr 1]+zi[n shr 1 + 1]) shr 1;
x1:=x; y1:=y; z1:=z;
x2:=x+1; y2:=y+1; z2:=z+1;
for i:=n shr 1 downto 1 do
begin
min:=min+abs(xi[i]-x1)+abs(yi[i]-y1)+abs(zi[i]-z1);
dec(x1); dec(y1); dec(z1);
min:=min+abs(xi[n-i+1]-x2)+abs(yi[n-i+1]-y2)+abs(zi[n-i+1]-z2);
inc(x2); inc(y2); inc(z2);
end;
end;
writeln(fo,min);
close(fi);
close(fo);
end.