#include<stdio.h> #include<stdlib.h> int search_max(int *sum,int size) { int tmp,account=0,max=-10000; for(int i=0;i<size;i++) { if(account<0) account=0; account+=sum[i]; if(max<account) max=account; } return max; } int main(void) { int t;scanf("%d",&t); while(t--) { int m,max=-10000,tmp;scanf("%d",&m); int array[100][100]; for(int i=0;i<m;i++) for(int j=0;j<m;j++) scanf("%d",&array[i][j]); for(int i=0;i<m;i++) { for(int j=i+1;;j++) { tmp=search_max(array[i],m); if(tmp>max) max=tmp; if(j==m) break; for(int k=0;k<m;k++) array[i][k]+=array[j][k]; } } printf("%d\n",max); } } |
Double click to view unformatted code.