Pagini recente » Cod sursa (job #1402899) | Cod sursa (job #492418) | Cod sursa (job #2834646) | Cod sursa (job #869461) | Cod sursa (job #89880)
Cod sursa(job #89880)
var a,c:array[1..16,1..16] of int64;
back:array[1..16] of integer;
s1,s2,n,max,m,gas,p:int64;
i,j:longint;
f1,f2:text;
begin
assign(f1,'flip.in');
assign(f2,'flip.out');
reset(f1);
rewrite(f2);
read(f1,n,m);
max:=0;
for i:=1 to n do
for j:=1 to m do
begin
read(f1,a[i][j]);
max:=max+a[i][j];
end;
for i:=1 to n do
back[i]:=0;
back[n]:=-1;
repeat
back[n]:=back[n]+1;
p:=n;
while back[p]>1 do
begin
back[p]:=0;
back[p-1]:=back[p-1]+1;
p:=p-1;
end;
for i:=1 to n do
for j:=1 to m do
c[i][j]:=a[i][j];
for i:=1 to n do
if back[i]=1 then for j:=1 to m do
c[i][j]:=c[i][j]*(-1);
for j:=1 to m do
begin
s1:=0;s2:=0;
for i:=1 to n do
begin
s1:=s1+c[i][j];
s2:=s2+c[i][j]*(-1);
end;
if s2>s1 then for i:=1 to n do
c[i][j]:=c[i][j]*(-1);
end;
s1:=0;
for i:=1 to n do
for j:=1 to m do
s1:=s1+c[i][j];
if s1>max then max:=s1;
gas:=0;
for i:=1 to n do
if back[i]=0 then begin gas:=1;break;end;
until gas=0;
writeln(f2,max);
close(f1);
close(f2);
end.