#include<iostream> #include<cstdio> #include<memory.h> using namespace std; int mat[101][101], temp[101], m, r,c; void f(int *a) { int i,sum = 0; for(i = 0; i < c; ++i) { if(sum > 0) sum += a[i]; else sum = a[i]; if(sum > m) m = sum; } } int main() { // freopen("in.txt","r",stdin); int N,i,j,k; scanf("%d",&N); while(N--) { scanf("%d%d",&r,&c); for(i = 0; i < r; ++i) for(j = 0; j < c; ++j) scanf("%d",&mat[i][j]); m = mat[0][0]; for(i = 0; i < r; ++i) { for(j = 0; j < c; ++j) temp[j] = 0; for(j = i; j < r; ++j) { for(k = 0; k < c; ++k) temp[k] += mat[j][k];//把多维变成一维,遍历所有的可能
f(temp);//求最大值 } } printf("%d\n",m); } return 0; }