#include<bits/stdc++.h>
using namespace std;
#define _441 int
#define _1640 return
_441 m,n,k,field[21][21]/*21*21=441*/,srtx,srty,ans,x,y;
void findmax(){
	_441 xt=0;
	for(_441 i=1;i<=m;i++){
		for(_441 j=1;j<=n;j++){
			if(field[i][j]>=xt){
				srtx=i,srty=j;
				xt=field[i][j];
			}
		}
	}
}
_441 main(){
	cin>>m>>n>>k;
	for(_441 i=1;i<=m;i++){
		for(_441 j=1;j<=n;j++){
			cin>>field[i][j];
		}
	}
	findmax();y=srty;
	while(k>=0){
		k-=(abs(srtx-x)+abs(srty-y)+1+y);
		if(k<0)break;
		k+=y;
		ans+=field[srtx][srty];
		//cout<<ans<<' '<<k<<endl;
		x=srtx,y=srty;
		field[srtx][srty]=0;
		findmax();
	}
	cout<<ans;
	_1640 0;
}

1 comments

  • 1

Information

ID
1132
Time
1000ms
Memory
256MiB
Difficulty
9
Tags
# Submissions
114
Accepted
10
Uploaded By