比赛 东方幻想乡 S2 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 射命丸文 最终得分 100
用户昵称 Makazeu 运行时间 0.960 s
代码语言 C++ 内存使用 9.71 MiB
提交时间 2012-08-08 19:20:28
显示代码纯文本
#include <cstdio>
#include <cstdlib>
using namespace std;
int N,M,R,C,ans;
int num[1111][1111];
int F[1111][1111];

inline int Max(int a,int b){return a>b?a:b;}

int main()
{
	freopen("aya.in","r",stdin);
	freopen("aya.out","w",stdout);
	scanf("%d%d%d%d\n",&N,&M,&R,&C);
	for(int i=1;i<=N;i++)
		for(int j=1;j<=M;j++)
			scanf("%d",&num[i][j]);	
	for(int i=1;i<=N;i++)
		for(int j=1;j<=M;j++)
			F[i][j]=F[i-1][j]+F[i][j-1]-F[i-1][j-1]+num[i][j];
	for(int i=1;i<=N-R+1;i++)
		for(int j=1;j<=M-C+1;j++)
			ans=Max(ans,F[i+R-1][j+C-1]-F[i+R-1][j-1]-F[i-1][j+C-1]+F[i-1][j-1]);
	printf("%d\n",ans);
	/*
	for(int i=1;i<=N;i++)
	{
		for(int j=1;j<=M;j++)
			printf("%d ",F[i][j]);
		printf("\n");
	}*/
	return 0;
}