#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int m,n,p=1,sum,b,x,y,q,k;
int o[N],z[50][50];
int foo()
{
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(z[i][j]==o[p]){
if(q==0){
x = i;
y = j;
q=1;
k -= i + 1;
sum += o[p -- ];
break;
}
k-=(abs(i-x)+abs(j-y))+1;
x=i,y=j;
if(k<x){
return 1;
}
sum+=o[p];
p--;
return 0;
}
}
}
}
int main()
{
cin >> m >> n >> k ;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin >> z[i][j] ;
if(z[i][j]!=0){
o[p]=z[i][j];
p++;
}
}
}
p--;
sort(o+1,o+p+1);
while(b!=1) b=foo();
cout << sum ;
return 0;
}
样例都过了,但9个点 RE