| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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}");
- }
- }
- }
|