import java.util.Scanner; public class L05_MaximumSumOf2X2Submatrix { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[][] matrix = readMatrix(scanner); int biggestSum = Integer.MIN_VALUE; int biggestSumRow1 = -1; int biggestSumCols2 = -1; int biggestSumRow2 = -1; int biggestSumCols1 = -1; for (int row = 0; row < matrix.length - 1; row++) { for (int col = 0; col < matrix[row].length - 1; col++) { int currentSum = matrix[row][col] + matrix[row + 1][col] + matrix[row][col + 1] + matrix[row + 1][col + 1]; if (currentSum > biggestSum) { biggestSum = currentSum; biggestSumRow1 = matrix[row][col]; biggestSumRow2 = matrix[row + 1][col]; biggestSumCols1 = matrix[row + 1][col + 1]; biggestSumCols2 = matrix[row][col + 1]; } } } System.out.println(biggestSumRow1 + " " + biggestSumCols2); System.out.println(biggestSumRow2 + " " + biggestSumCols1); System.out.println(biggestSum); } private static int[][] readMatrix(Scanner scanner) { String[] input = scanner.nextLine().split(", "); int rows = Integer.parseInt(input[0]);//2 int cols = Integer.parseInt(input[1]);//3 int[][] matrix = new int[rows][cols]; for (int row = 0; row < rows; row++) { String[] numbersToPut = scanner.nextLine().split(", "); for (int col = 0; col < cols; col++) { matrix[row][col] = Integer.parseInt(numbersToPut[col]); } } return matrix; } }