using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; namespace D20._1 { public class R : StreamReader, IEnumerable { public R(Stream stream) : base(stream) { } public IEnumerator GetEnumerator() { while (true) { var line = ReadLine(); if (line == null) break; yield return line; } } } class Program { static void Main(string[] args) { var ranges = new List<(uint start, uint end)>(); using (var file = new R(File.OpenText(args[0]).BaseStream)) { foreach (string line in file) { var lr = line.Split("-"); var start = uint.Parse(lr[0]); var end = uint.Parse(lr[1]); ranges.Add((start, end)); } } ranges.Sort(); uint smallest = 0; while (ranges.Count > 0) { var (start, end) = ranges.ElementAt(0); ranges.RemoveAt(0); if (smallest >= start && smallest <= end) smallest = end + 1; } Console.WriteLine($"The answer is : {smallest}"); } } }