- Source Code
#include<stdio.h> int a[105][105]; int main() { int i,p,j,k,N,max,h[105],dph[105]={-2100000000}; while(scanf("%d",&N)!=EOF) { for(i=1;i<=N;i++) for(j=1;j<=N;j++)scanf("%d",&a[i][j]); max=-2100000000; for(i=1;i<=N;i++) { for(p=i;p<=N;p++) { for(k=1;k<=N;k++)h[k]=0; for(k=1;k<=N;k++) for(j=i;j<=p;j++)h[k]+=a[j][k]; for(j=1;j<=N;j++) { if(dph[j-1]<=0)dph[j]=h[j]; else dph[j]=dph[j-1]+h[j]; if(dph[j]>max)max=dph[j]; } } } printf("%d/n",max); } return 0; }