51nod 1051 最大子矩阵和

来源:互联网 发布:jdk 1.7 linux 64 编辑:程序博客网 时间:2024/04/30 07:41
#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);}}

0 0