您的位置:首页 > 其它

51nod 1051 最大子矩阵和

2016-11-06 22:55 274 查看
#include <bits/stdc++.h>
using namespace std;

long long a[550][550],colusum[550][550];

int main()
{
long long n,m,i,j,sum,ans,up,down;
while(cin>>m>>n)
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%lld",&a[i][j]);
memset(colusum,0,sizeof(colusum));
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
colusum[i][j]=colusum[i-1][j]+a[i][j];
ans=0;
for(up=1;up<=n;up++)
{
for(down=up;down<=n;down++)
{
sum=0;
for(i=1;i<=m;i++)
{
sum+=colusum[down][i]-colusum[up-1][i];
sum=max((long long)0,sum);
ans=max(ans,sum);
}
}
}
printf("%lld\n",ans);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  51nod