Cod sursa(job #7041)

Utilizator maria_pparcalabescu maria daniela maria_p Data 21 ianuarie 2007 12:03:31
Problema Elimin Scor 30
Compilator fpc Status done
Runda preONI 2007, Runda 1, Clasa a 10-a Marime 1.54 kb
var f,g:text;
    a:array[1..100,1..100]of longint;
    sl,sc,pl,pc:array[1..100]of longint;
    m,n,r,c,i,j,aux,st:longint;
begin
assign(f,'elimin.in');reset(f);
assign(g,'elimin.out');rewrite(g);
readln(f,m,n,r,c);
for i:=1 to m do
    for j:=1 to n do
        read(f,a[i,j]);
st:=0;
for i:=1 to m do
    for j:=1 to n do
        st:=st+a[i,j];
for i:=1 to m do
    begin
    sl[i]:=0;
    for j:=1 to n do
        sl[i]:=sl[i]+a[i,j];
    end;
for j:=1 to n do
    begin
    sc[j]:=0;
    for i:=1 to m do
        sc[j]:=sc[j]+a[i,j];
    end;
for i:=1 to m do
    pl[i]:=i;
for i:=1 to n do
    pc[i]:=i;
for i:=1 to m-1 do
    for j:=i+1 to m do
        if sl[pl[i]]>sl[pl[j]] then begin
                            aux:=pl[i];
                            pl[i]:=pl[j];
                            pl[j]:=aux;
                            end;
for i:=1 to n-1 do
    for j:=i+1 to n do
        if sc[pc[i]]>sc[pc[j]] then begin
                            aux:=pc[i];
                            pc[i]:=pc[j];
                            pc[j]:=aux;
                            end;
for i:=1 to r do
    begin
    st:=st-sl[pl[i]];
    for j:=1 to n do
        sc[j]:=sc[j]-a[pl[i],j];
    end;
for i:=1 to n-1 do
    for j:=i+1 to n do
        if sc[pc[i]]>sc[pc[j]] then begin
                            aux:=pc[i];
                            pc[i]:=pc[j];
                            pc[j]:=aux;
                            end;
for i:=1 to c do
    st:=st-sc[pc[i]];
writeln(g,st);
close(f);
close(g);
end.