二维前缀和板子 WA29
查看原帖
二维前缀和板子 WA29
844814
threading楼主2023/10/9 20:22
#include <bits/stdc++.h>
using namespace std;
#define int long long 
const int N=1e3+10;
int n,m,c;
int a[N][N];
int s[N][N];
signed main()
{
	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++)
			s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
	int maxv=-2e9;
	int ansx,ansy;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			int x=i+c,y=j+c;
			if(x>n||y>m) continue;
			int sum=s[x][y]-s[x][j-1]-s[i-1][y]+s[i-1][j-1];
			if(sum>maxv){
				ansx=i,ansy=j;
				maxv=sum;
			}
		}
	}
	cout<<ansx<<' '<<ansy<<endl;
	return 0;
}
2023/10/9 20:22
加载中...