Cod sursa(job #171639)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 4 aprilie 2008 18:25:35
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.95 kb
var f,g:text;
    v:array[0..20,0..20]of longint;
    a:array[0..20]of longint;
    i,j,n,m,s,spoz,sneg,max:longint;
begin
assign(f,'flip.in');
assign(g,'flip.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to n do
  for j:=1 to m do
    read(f,v[i,j]);
for i:=1 to n do a[i]:=0;
max:=-17000000;
while true do
  begin
    s:=0;
    for j:=1 to m do
      begin
        sneg:=0;
        spoz:=0;
        for i:=1 to n do
          if (a[i]=0)then
            begin
              if (v[i,j]<0)then dec(sneg,v[i,j])else inc(spoz,v[i,j]);
            end else
              if (v[i,j]<0)then inc(spoz,0-v[i,j])else dec(sneg,0-v[i,j]);
        if (sneg>spoz)then
          s:=s+sneg-spoz else
          s:=s+spoz-sneg;
      end;
    if(s>max)then max:=s;
    i:=n;
    while (a[i]=1)do
      begin
        a[i]:=0;
        dec(i);
      end;
    if (i=0)then break;
    a[i]:=1;
  end;
writeln(g,max);
close(f);
close(g);
end.