大严 • 9小时前
using namespace std; struct hs{
int x;
int y;
int num;
}a[500]; bool c(hs d,hs e) {
return d.num>e.num;
} int main(){
int m,n,k,t=0;
scanf("%d%d%d",&m,&n,&k);
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
int z;
scanf("%d",&z);
if(z!=0)
{
t++;
a[t].x=i;
a[t].y=j;
a[t].num=z;
}
}
}
sort(a+1,a+1+t,c);
int ans=0;
int l=1;
while(1)
{
if(l==1)
{
k-=(a[l].x+1);
if(k<a[l].x)
{
break;
}
ans+=a[l].num;
}
else
{
k-=abs(a[l].x-a[l-1].x)+abs(a[l].y-a[l-1].y)+1;
if(k<a[l].x)
{
break;
}
ans+=a[l].num;
}
l++;
}
printf("%d",ans);
return 0;
}
评论:
请先登录,才能进行评论