MiroslavKisov

MaximalSum

Jan 28th, 2018
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace MaximalSum
  5. {
  6.     public class StartUp
  7.     {
  8.         public static void Main()
  9.         {
  10.             var sizes = Console.ReadLine()
  11.                 .Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)
  12.                 .Select(long.Parse)
  13.                 .ToArray();
  14.             var matrix = new long[sizes[0], sizes[1]];
  15.             long currentSum = 0;
  16.             var bestSum = long.MinValue;
  17.             int X = 0;
  18.             int Y = 0;
  19.             for (int i = 0; i < matrix.GetLength(0); i++)
  20.             {
  21.                 var rows = Console.ReadLine()
  22.                     .Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)
  23.                     .Select(long.Parse)
  24.                     .ToArray();
  25.                 for (int j = 0; j < matrix.GetLength(1); j++)
  26.                 {
  27.                     matrix[i, j] = rows[j];
  28.                 }
  29.             }
  30.             for (int i = 0; i < matrix.GetLength(0) - 2; i++)
  31.             {
  32.                 for (int j = 0; j < matrix.GetLength(1) - 2; j++)
  33.                 {
  34.                     currentSum = matrix[i, j] + matrix[i, j + 1] + matrix[i, j + 2]
  35.                         + matrix[i + 1, j] + matrix[i + 1, j + 1] + matrix[i + 1, j + 2]
  36.                         + matrix[i + 2, j] + matrix[i + 2, j + 1] + matrix[i + 2, j + 2];
  37.                     if (currentSum > bestSum)
  38.                     {
  39.                         bestSum = currentSum;
  40.                         X = i;
  41.                         Y = j;
  42.                     }
  43.                 }
  44.             }
  45.             Console.WriteLine($"Sum = {bestSum}");
  46.             for (int i = 0; i < 3; i++)
  47.             {
  48.                 for (int j = 0; j < 3; j++)
  49.                 {
  50.                     Console.Write(matrix[X + i,Y + j] + " ");
  51.                 }
  52.                 Console.WriteLine();
  53.             }
  54.         }
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment