#include // std::string #include // std::cout #include #include using namespace std; int n; int main() { string tmp; getline(cin, tmp); stringstream ss(tmp); ss >> n; // read int a[n][n]; int i,j; for(i=0; i> a[i][j]; } // find int max = INT_MIN; for(int i1=0; i1 i2 ? i1 : i2; int max_j = j1 > j2 ? j1 : j2; // up & down border for(int k=0; k <= (max_j-min_j); k++) { val+=a[min_i][k + min_j]; if (max_i != min_i) { val+=a[max_i][k + min_j]; } } // left & right for(int k=1; k < (max_i-min_i); k++) { val+=a[k + min_i][min_j]; if (max_j != min_j) { val+=a[k + min_i][max_j]; } } if (val > max) { max = val; } } cout << max; }