Exemplo n.º 1
0
        public static void Task1()
        {
            Console.WriteLine("AOC2020_Day9_Task1");

            var input = Day9_Common.GetInput();

            const int preamblelen = 25;

            List <Int64> preamble = new List <Int64>();

            for (int i = 0; i < input.Count; i++)
            {
                Int64 val = input[i];
                if (i < preamblelen)
                {
                    preamble.Add(val);
                    continue;
                }

                if (Day9_Common.ValidNmb(preamble, val))
                {
                    preamble[i % preamblelen] = val;
                    continue;
                }

                Console.WriteLine("Nmb : {0}", val);
                return;
            }

            Console.WriteLine("Not found????");
        }
Exemplo n.º 2
0
        public static void Task2()
        {
            Console.WriteLine("AOC2020_Day9_Task2");

            var input = Day9_Common.GetInput();

            var invalidnmb = 14144619;

            for (int i = 0; i < input.Count - 1; i++)
            {
                var sum = input[i];
                int j   = i + 1;
                for (; j < input.Count && sum < invalidnmb; j++)
                {
                    sum += input[j];
                }
                if (sum == invalidnmb)
                {
                    var list = new SortedSet <Int64>(input.GetRange(i, j - i + 1));
                    Console.WriteLine("Min : {0} Max : {1} Sum : {2}", list.Min, list.Max, list.Min + list.Max);
                    return;
                }
            }

            Console.WriteLine("Not found????");
        }