Cod sursa(job #181348)

Utilizator madmanjonesJones the one madmanjones Data 18 aprilie 2008 11:37:18
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 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.