huasheng:array [1..500,1..20] of integer;
a:array[0..1000,0..2] of integer;
procedure swap(var a:integer;var b:integer);
begin
tmp:=a;
a:=b;
b:=tmp;
end;
begin
readln(m,n,k);
for i:=1 to m do begin
for j:=1 to n do begin
read(huasheng[m,n]);
if huasheng[m,n]>0 then
begin
a[z,0]:=huasheng[m,n];
a[z,1]:=i;
a[z,2]:=j;
inc(z);
end;
end;
readln;
end;
for i:=1 to z-1 do
for j:=i+1 to z do
if a[i,0]<a[j,0] then begin swap(a[i,0],a[j,0]);
swap(a[i,1],a[j,1]);
swap(a[i,2],a[j,2]);end;
i:=1;
k:=k-1;a[0,2]:=a[1,2];
while shijian+a[i,1]+1<=k do
begin
guozi:=guozi+a[i,0];
shijian:=shijian+a[i,1]-a[i-1,1]+a[i,2]-a[i-1,2];
inc(i);
end;
if shijian+1>k then guozi:=guozi-a[i-1,0];
writeln(guozi);
end.
彻底败给猴子了,郁闷,~
a:array[0..21,0..21] of longint;
begin
readln(x,y,z);
for i:=1 to x do
begin
for j:=1 to y do
read(a[i,j]);
readln;
end;
while true do
begin
for i:=1 to x do
for j:=1 to y do
if a[i,j]>a[x2,y2] then
begin
x2:=i;
y2:=j;
end;
if x1=0 then y1:=y2;
shi:=abs(x1-x2)+abs(y1-y2)+1+x2;
if (a[x2,y2]=0)or(shi>z) then break;
z:=z-abs(x1-x2)-abs(y1-y2)-1;
sum:=sum+a[x2,y2];
x1:=x2;y1:=y2;
a[x2,y2]:=0;
end;
writeln(sum);
end.