这个题目就说注意由于从路上到田里也算,所以就从1~m记录坐标合适
for (1~m)
for (1~n)
    输入该点花生数
按花生数多少排序
for (遍历所有花生i:0~cnt-1){
    if (第一次)时间+=a[i]的纵坐标+采花生时间1
    else 时间+=a[i]和a[i-1]横纵坐标的差+采花生时间1
    if (时间<规定时间) 花生数+=a[i]的花生
}

#include <bits/stdc++.h>
using namespace std;

int m,n,k,cnt,ans,t;
const int N=405;
struct Node{
	int i,j,num;
};
Node a[N];

bool cmp(Node a,Node b){
	return a.num>b.num;
}

int main(int argc, char** argv) {
	cin>>m>>n>>k;
	for(int i=1;i<=m;i++)
	for(int j=1;j<=n;j++){
		scanf("%d",&a[cnt].num);
		a[cnt].i=i,a[cnt].j=j;
		cnt++;
	}
	sort(a,a+cnt,cmp);

	for(int i=0;i<cnt;i++){
		if(i==0){
			t+=a[i].i+1;
		}else{
			t+=abs(a[i].i-a[i-1].i)+abs(a[i].j-a[i-1].j)+1;
		}
		if(t+a[i].i<=k) ans+=a[i].num;
		else break;
	}
	cout<<ans<<endl;
	return 0;
}