diff --git a/aoc/src/dev/ctsk/aoc/days/Day20.scala b/aoc/src/dev/ctsk/aoc/days/Day20.scala index 7434764..f34a90e 100644 --- a/aoc/src/dev/ctsk/aoc/days/Day20.scala +++ b/aoc/src/dev/ctsk/aoc/days/Day20.scala @@ -20,18 +20,18 @@ object Day20 extends Solver(20): def cheats(radius: Int): Int = trace.indices.par - .map(a => - (a + 1 until trace.length) - .count(b => - val (from, fromDist) = (trace(a), trace.length - a) - val (to, toDist) = (trace(b), trace.length - b) + .map(toDist => + (toDist + 100 until trace.length) + .count(fromDist => + val from = trace(toDist) + val to = trace(fromDist) val dist = (from - to).manhattan dist <= radius && (fromDist - toDist >= 100 + dist) ) ) .sum - + val p1 = timed { cheats(2) } val p2 = timed { cheats(20) }