Pagini recente » Cod sursa (job #2360416) | Cod sursa (job #3225076) | Cod sursa (job #3263158) | Cod sursa (job #2807531) | Cod sursa (job #90052)
Cod sursa(job #90052)
var a:array[1..16,1..16] of int64;
back:array[1..16] of integer;
s1,s2,sum,n,f,co,max,m,gas,poz,p:int64;
i,j,t: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;
f:=1;
for i:=1 to n do
f:=f*2;
f:=f-1;
for i:=1 to n do
back[i]:=0;
for t:=1 to f do
begin
co:=t;poz:=1;
while co>0 do
begin
back[poz]:=co mod 2;
co:=co div 2;
poz:=poz+1;
end;
sum:=0;
for i:=1 to n do
if back[i]=1 then for j:=1 to m do
sum:=sum+a[i][j]*(-1)
else for j:=1 to m do
sum:=sum+a[i][j];
for j:=1 to m do
begin
s1:=0;s2:=0;
for i:=1 to n do
begin
if back[i]=1 then s1:=s1+(-1)*a[i][j]
else s1:=s1+a[i][j];
if back[i]=1 then s2:=s2+a[i][j]*(-1)
else s2:=s2+a[i][j];
end;
if s2>s1 then for i:=1 to n do
sum:=(sum-a[i][j])+a[i][j]*(-1);
end;
if sum>max then max:=s1;
end;
writeln(f2,max);
close(f1);
close(f2);
end.