public static void Main()
int[,] slotsA = {{10, 50}, {60, 120}, {140, 210}};
int[,] slotsB = {{0, 15}, {60, 70}};
Console.WriteLine(string.Join(",",MeetingPlanner(slotsA,slotsB,8)));
public static int[] MeetingPlanner(int[,] slotsA, int[,] slotsB, int dur)
while(i<slotsA.GetLength(0) && j<slotsB.GetLength(0))
int maxTime = Math.Min(slotsA[i,1],slotsB[j,1]);
int minTime = Math.Max(slotsA[i,0],slotsB[j,0]);
int avlDur = maxTime-minTime;
Console.WriteLine($"Available: {minTime}-{maxTime} Duration: {avlDur}");
return new int[2] { minTime, minTime+dur };
if(slotsA[i,1]<slotsB[j,1]) i++;