#include <algorithm> #include <cctype> #include <cmath> #include <cstdio> #include <iostream> #include <map> #include <set> #include <stack> #include <string> #include <vector> #include<climits> using namespace std; int main(void) { long long n; while (cin >> n) { long long arr[n][n]; long long total[n][n]; for (long long i = 0; i < n; i++) { for (long long j = 0; j < n; j++) { cin >> arr[i][j]; total[i][j] = arr[i][j]; if (i != 0) total[i][j] += total[i - 1][j]; } } long long ans =LONG_LONG_MIN; for (long long i = 0; i < n; i++) { long long result[n]; for (long long j = i; j < n; j++) { for (long long k = 0; k < n; k++) { if (i == 0) result[k] = total[j][k]; else result[k] = total[j][k] - total[i - 1][k]; } } long long mmax[n]; mmax[0] = result[0]; long long maxx = LONG_LONG_MIN; for (long long j = 1; j < n; j++) { mmax[j] = (mmax[j - 1] > 0) ? mmax[j - 1] + result[j] : result[j]; if (maxx < mmax[j]) maxx = mmax[j]; } ans = ans < maxx ? maxx : ans; } cout << ans << endl; } } /* Main.cc: In function `int main()': Main.cc:32: error: `LONG_LONG_MIN' undeclared (first use this function) Main.cc:32: error: (Each undeclared identifier is reported only once for each function it appears in.) */ |
Double click to view unformatted code.