题解
2025-08-05 09:21:52
发布于:上海
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,c,a[1005][1005],sum[1005][1005];
cin>>n>>m>>c;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
sum[i][j]=a[i][j]-sum[i-1][j-1]+sum[i][j-1]+sum[i-1][j];
}
}
int x,y,ans=-1e9;
for(int i=0;i<n-c;i++){
for(int j=0;j<m-c;j++){
int num=sum[i][j]+sum[i+c][j+c]-sum[i+c][j]-sum[i][j+c];
if(num>ans){
ans=num;
x=i+1;
y=j+1;
}
}
}
cout<<x<<" "<<y;
return 0;
}
二维前缀和罢了
这里空空如也
有帮助,赞一个