Cod sursa(job #527200)

Utilizator mihaitza22Mihai Nan mihaitza22 Data 30 ianuarie 2011 22:09:59
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.2 kb
program flip;
var n,m,i,j,k,l:integer;
f,g:text;
s,s1,s2,s3,s4:int64;
a,b:array[1..16,1..16] of int64;
x,y,w,z:array[1..16] of int64;
begin
s:=0; s1:=0; s2:=0; s3:=0; s4:=0;
assign(f,'flip.in');
reset(f);
assign(g,'flip.out');
rewrite(g);
read(f,n,m);
for i:=1 to n do
for j:=1 to m do
b[i,j]:=0;
for i:=1 to n do
begin
for j:=1 to m do
begin
read(f,a[i,j]);
end;
readln(f);
end;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]<0 then
b[i,j]:=a[i,j];
end;
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[i,j]>0 then
s1:=s1+a[i,j];
end;
x[i]:=s1;
s1:=0;
end;
for i:=1 to n do
begin
for j:=1 to m do
begin
s2:=s2+b[i,j];
end;
y[i]:=-s2;
s2:=0;
end;
for i:=1 to n do
begin
if x[i]<y[i] then
begin
for j:=1 to m do
a[i,j]:=a[i,j]*(-1);
end;
end;
for j:=1 to m do
begin
for i:=1 to n do
if a[i,j]>0 then
begin
s3:=s3+a[i,j];
end;
z[j]:=s3;
s3:=0;
end;
for j:=1 to m do
begin
for i:=1 to n do
begin
s4:=s4+b[i,j];
end;
w[j]:=-s4;
s4:=0;
end;

for j:=1 to m do
begin
if z[j]<w[j] then
begin
for i:=1 to n do
a[i,j]:=a[i,j]*(-1);
end;
end;
for i:=1 to n do
for j:=1 to m do
begin
s:=s+a[i,j];
end;
write(g,s);
close(f);
close(g);
end.