Cod sursa(job #7036)
Utilizator | Data | 21 ianuarie 2007 12:01:28 | |
---|---|---|---|
Problema | Elimin | Scor | 0 |
Compilator | fpc | Status | done |
Runda | preONI 2007, Runda 1, Clasa a 10-a | Marime | 1.75 kb |
var a:array[0..200,0..150]of integer;
f:text;
ok:boolean;
i,j,n,m,r,s,c,p,min,t:longint;
begin
assign(f,'elimin.in');
reset(f);
read(f,n,m);
read(f,r,c);
for i:=1 to n do
begin
s:=0;
for j:=1 to m do
begin
read(f,a[i,j]);
a[i,0]:=a[i,0]+a[i,j];
end;
end;
close(f);
for i:=1 to m do
for j:=1 to n do
a[0,i]:=a[0,i]+a[i,j];
ok:=true;p:=0;
while ok do
begin
ok:=false;inc(p);
min:=99999999;
for i:=1 to n do
if (a[i,0]<min)and(a[i,0]>0) then
begin
min:=a[i,0];
t:=i;
end;
for i:=0 to m do
begin
if a[t,i]>0 then
a[0,i]:=a[0,i]-a[t,i];
a[t,i]:=-1;
end;
if p<r then
ok:=true;
end;
ok:=true;p:=0;
while ok do
begin
ok:=false;
inc(p);
min:=99999999;
for i:=1 to m do
if (a[0,i]<min)and(a[0,i]>0) then
begin
min:=a[0,i];
t:=i;
end;
for i:=0 to n do
begin
if a[i,t]>0 then
a[i,0]:=a[i,0]-a[i,t];
a[i,t]:=-1;
end;
if p<c then
ok:=true;
end;
s:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]<>-1 then
s:=s+a[i,j];
assign(f,'elimin.out');
rewrite(f);
write(f,s);
close(f);
end.