using System.Collections.Generic;
public static void Main()
int[] movieTimes = {47, 23, 19, 21, 42, 90, 125, 36, 20 };
Console.WriteLine(twoMoviesPossible(132, movieTimes));
Console.WriteLine(twoMoviesPossible(47, movieTimes));
Console.WriteLine(twoMoviesPossible(161, movieTimes));
Console.WriteLine(twoMoviesPossible(84, movieTimes));
public static bool twoMoviesPossible(int fligthLength, int[] movieTimes) {
Dictionary<int, bool> lookUp = new Dictionary<int, bool>();
for(var i = 0; i < movieTimes.Length; i++) {
remainder = fligthLength - movieTimes[i];
lookUp.TryGetValue(remainder, out isThere);
lookUp.Add(movieTimes[i], true);