using System.Collections.Generic;
public class CarsInTheParkingLot
public static Tuple<int,int> FindStartPos(int[,] arr, int m)
var max = new Tuple<int, int>(0, arr[0, 0]);
for (int i = 1; i < m; ++i)
if (max.Item2 < arr[i, 0]){
max = new Tuple<int, int>(i, arr[i, 0]);
public static int Solve(int[,] matrix, int m, int n)
var startPosition = FindStartPos(matrix, m);
int row = startPosition.Item1;
int val01 = 0, val02 = 0, val03 = 0, bigger = 0;
for (int col = 1; col < n; ++col)
val02 = matrix[row, col];
val01 = matrix[prevRow, col];
val03 = matrix[nextRow, col];
static void Main(string[] args)
Console.WriteLine("Hello CarsInTheParkingLot!\n");
int[,] matrix1 = new int[,] {{1, 3, 3},
Console.WriteLine("Solved should give 12: " + CarsInTheParkingLot.Solve(matrix1, m, n).ToString());
int[,] matrix2 = new int[,] { {1, 3, 1, 5},
Console.WriteLine("Solved should give 16: " + CarsInTheParkingLot.Solve(matrix2, m, n).ToString());
int[,] matrix3 = new int[,] {{10, 33, 13, 15},
Console.WriteLine("Solved should give 83: " + CarsInTheParkingLot.Solve(matrix3, m, n).ToString());
int[,] matrix4 = new int[,] {{10, 33, 13, 15,45,34},
Console.WriteLine("Solved should give xxx: " + CarsInTheParkingLot.Solve(matrix4, m, n).ToString());
int[,] matrix5 = new int[,] {{1, 1, 1, 1,1,1},
Console.WriteLine("Solved should give xxx: " + CarsInTheParkingLot.Solve(matrix5, m, n).ToString());