#include #include using namespace std; int n, a[401][401], s[401][401], ans = 0; bool ok = false; void in() { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i][0]); s[i][0] = a[i][0]; if (a[i][0] > 0) ok = true; for (int j = 1; j < n; j++) { scanf("%d", &a[i][j]); if (a[i][j] > 0) ok = true; s[i][j] = s[i][j - 1] + a[i][j]; } } } void solve() { if (ok == false) { ans = a[0][0]; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (a[i][j] > ans) ans = a[i][j]; printf("%d\n", ans); return; } for (int i = 0; i < n; i++) for (int j = i; j < n; j++) { int sum = 0; for (int k = 0; k < n; k++) { int element = s[k][j] - s[k][i] + a[k][i]; sum += element; if (sum < 0) sum = 0; if (sum > ans) ans = sum; } } printf("%d\n", ans); } int main() { in(); solve(); return 0; }