Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MultidimensionalArrays;
- import java.util.Arrays;
- import java.util.Scanner;
- public class MaximumSum {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- int[] matrixData = Arrays.stream(scan.nextLine().
- split("\\s+")).
- mapToInt(Integer::parseInt).
- toArray();
- int[][] matrix = new int[matrixData[0]][matrixData[1]];
- for (int row = 0; row < matrix.length; row++) {
- String[] rowData = scan.nextLine().split("\\s+");
- for (int col = 0; col < matrix[0].length; col++) {
- matrix[row][col] = Integer.parseInt(rowData[col]);
- }
- }
- int maxSum = Integer.MIN_VALUE;
- int maxRow = -1;
- int maxCol = -1;
- for (int row = 0, col = 0; row + 2 < matrix.length;) {
- int sum = 0;
- for (int i = row; i < row + 3; i++) {
- for (int j = col; j < col + 3; j++) {
- sum += matrix[i][j];
- }
- }
- if (sum > maxSum) {
- maxSum = sum;
- maxRow = row;
- maxCol = col;
- }
- col++;
- if (col + 2 >= matrix[0].length) {
- col = 0;
- row++;
- }
- }
- System.out.println("Sum = " + maxSum);
- printMaxSumMatrix(matrix, maxRow, maxCol);
- }
- private static void printMaxSumMatrix(int[][] matrix, int maxRow, int maxCol) {
- for (int i = maxRow; i < maxRow + 3; i++) {
- for (int j = maxCol; j < maxCol + 3; j++) {
- System.out.print(matrix[i][j] + " ");
- }
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement