Pagini recente » Cod sursa (job #2211423) | Cod sursa (job #2055762) | Cod sursa (job #2588436) | Cod sursa (job #2282586) | Cod sursa (job #1586179)
program elimin;
type element=record
suma:int64;
tip:byte;
end;
var f,g:text;
aux:element;
v:array of element;
ok:boolean;
m,n,r,c,i,nr,j,st,dr,limita,p,co:longint;
stotal:qword;
begin
assign(f,'elimin.in');reset(f);
assign(g,'elimin.out');rewrite(g);
readln(f,n,m,r,c);
limita:=n+m;
setlength(v,limita+1);
stotal:=0;
for i:=1 to n-1 do
begin
v[i].tip:=1;
for j:=1 to m do
begin
read(f,nr);
v[i].suma:=v[i].suma+nr;
v[n+j].suma:=v[n+j].suma+nr;
stotal:=stotal+nr;
end;
readln(f);
end;
v[n].tip:=1;
for j:=1 to m do
begin
read(f,nr);
v[n+j].tip:=2;
v[n+j].suma:=v[n+j].suma+nr;
v[n].suma:=v[n].suma+nr;
stotal:=stotal+nr;
end;
co:=1;
repeat
ok:=true;
limita:=limita-co;
for i:=1 to limita do
if v[i].suma<v[i+1].suma then
begin
aux:=v[i];
v[i]:=v[i+1];
v[i+1]:=aux;
end;
if (v[co+1].tip=1)and(r>0) then
begin
stotal:=stotal-v[co+1].suma;
dec(r);
p:=co+1;
end
else
if (v[co+1].tip=2)and(c>0) then
begin
stotal:=stotal-v[co+1].suma;
dec(c);
p:=co+1;
end;
dec(co);
until (ok=true)or(r+c=0);
for i:=p-1 downto 1 do
begin
if (v[i].tip=1)and(r>0) then
begin
stotal:=stotal-v[i].suma;
dec(r);
end
else
if (v[i].tip=2)and(c>0) then
begin
stotal:=stotal-v[i].suma;
dec(c);
end;
if r+c=0 then
break;
end;
writeln(g,stotal);
close(f);
close(g);
end.