记录编号 47512 评测结果 AAAAAAAAAA
题目名称 [Matrix模拟赛] 吃西瓜 最终得分 100
用户昵称 GravatarTruth.Cirno 是否通过 通过
代码语言 C++ 运行时间 2.417 s
提交时间 2012-11-01 20:49:59 内存使用 3.47 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;

int s[33][51][51],f[33];

int main(void)
{
	freopen("matrix.in","r",stdin);
	freopen("matrix.out","w",stdout);
	int i,j,k,i2,j2,h,n,m,temp,maxnum=0;
	cin>>h>>n>>m;
	for (i=1;i<=h;i++)
		for (j=1;j<=n;j++)
			for (k=1;k<=m;k++)
			{
				cin>>temp;
				s[i][j][k]=s[i][j-1][k]+s[i][j][k-1]-s[i][j-1][k-1]+temp;
			}
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
			for (i2=i;i2<=n;i2++)
				for (j2=j;j2<=m;j2++)
					for (k=1;k<=h;k++)
					{
						f[k]=f[k-1]+s[k][i2][j2]-s[k][i2][j-1]-s[k][i-1][j2]+s[k][i-1][j-1];
						if (f[k]<0)
							f[k]=0;
						if (maxnum<f[k])
							maxnum=f[k];
					}
	cout<<maxnum<<endl;
	return(0);
}