/*Code by Bia Beniamin Problem: */ /* WI a; a.RS(5,VI(5)); a[0][0]=5; VI a; a.RS(5); a[0]=5; PII a(4,5); cout<<a.first<<a.second; int n=6; FORN(i,n) { cout<<i; } int n=6; FORN(i,1,n) { cout<<i; } int n=6; FORD(i,n,1) { cout<<i; } n=6; UNTIL(n>0) { cout<<n; --n; } */ #include<vector> #include<string> #include<string.h> #include<algorithm> #include<cstdio> #include<fstream> #include<iostream> #include<stdint.h> #include<ctime> #include<set> #include<map> #include<cmath> using namespace std; #define LL long long; #define PII pair<int ,int> #define PCI pair<char ,int> #define VB vector <bool> #define VI vector <int> #define VC vector <char> #define WI vector<VI> #define RS resize #define X first #define Y second #define FORN(i,n) for(int i=0;i<n;++i) #define FOR(i,a,b) for(int i=a;i<=b;++i) #define FORD(i,a,b) for(int i=a;i>=b;--i) #define REPEAT do #define UNTIL(x) while((x)) #define IN_FILE "date.in" #define OUT_FILE "date.out" ifstream f(IN_FILE); ofstream g(OUT_FILE); //variables int n,max_answer; WI sum, x; //other functions void reading() { cin >> n; x.RS(n, VI(n)); sum.RS(n, VI(n)); FORN(i, n) { FORN(j, n) { cin >> x[i][j]; } } } void solving() { if (n == 1) { cout << x[0][0]; return; } sum[0][0] = x[0][0]; FOR(i,1, n-1) { sum[0][i] = sum[0][i - 1] + x[0][i]; sum[i][0] = sum[i - 1][0] + x[i][0]; } FOR(i,1, n-1) { FOR(j, 1, n - 1) { sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1]+x[i][j]; } } FORN(i1, n) { FORN(j1, n) { FOR(i2, i1+1, n - 1) { FOR(j2, j1+1, n - 1) { if (j2 == 2 && i2 == 2 && j1==1) { n--; n++; } int aux; if (i1 == 0 && j1 == 0) { aux = 0; } else if (i1 == 0) { aux = sum[i2][j1-1]; } else if (j1 == 0) { aux = sum[i1-1][j2]; } else { aux = sum[i1 - 1][j1] + sum[i1][j1 - 1] - sum[i1 - 1][j1 - 1]; } int aux3 = sum[i2-1][j2-1] - sum[i1][j2-1] - sum[i2-1][j1] + sum[i1][j1]; if (i2 - i1 == 1 && j2 - j1 == 1) { aux3 = 0; } int aux2 = sum[i2][j2] - aux-aux3; max_answer = max(aux2,max_answer); } } } } } void write_data() { if (n > 1) { cout << max_answer; } } int main() { reading(); solving(); write_data(); }