namespace AdventOfCode2026; public sealed class Day1 : Solution { private const int MaxArrow = 100; public override string SolvePart1() { var arrow = 50; var zeroCounter = 0; IEnumerable lines = InputReader.ReadLines(1); foreach (var line in lines) { var number = int.Parse(line[1..]); arrow = line.First() switch { 'L' => arrow - number, 'R' => arrow + number, var _ => arrow }; arrow = (arrow % MaxArrow + MaxArrow) % MaxArrow; if (arrow == 0) { zeroCounter++; } } return zeroCounter.ToString(); } public override string SolvePart2() { var arrow = 50; var zeroCounter = 0; IEnumerable lines = InputReader.ReadLines(1); foreach (var line in lines) { var number = int.Parse(line[1..]); zeroCounter += number / MaxArrow; var remainingNumber = number % MaxArrow; var end = line.First() switch { 'L' => arrow - remainingNumber, 'R' => arrow + remainingNumber, var _ => arrow }; if (arrow != 0 && end is > MaxArrow or < 0) { zeroCounter++; } arrow = (end % MaxArrow + MaxArrow) % MaxArrow; if (arrow == 0) { zeroCounter++; } } return zeroCounter.ToString(); } }