请各位大佬看看这道题
#include<bits/stdc++.h>
using namespace std;
int s[25][25];
struct node{
int x,y,sum=0;
};
node a[1000005];
int k,n,m;
int tot=0;
bool cmp(node x,node y)
{
return x.sum>y.sum;
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>s[i][j];
if(s[i][j]>0)
{
a[++tot].x=i;
a[tot].y=j;
a[tot].sum=s[i][j];
}
}
}
sort(a+1,a+tot+1,cmp);
int cnt=a[1].x+1,i=2;
int ans=a[1].sum;
while(cnt+a[i-1].x<=k&&i<=tot)
{
cnt+=abs(a[i].x-a[i-1].x)+abs(a[i].y-a[i-1].y)+1;
if(cnt+a[i].x>k) break;
ans+=a[i].sum;
i++;
}
cout<<ans;
return 0;
}
怎么还剩一个点嘞
第五个点