From 58710aca7a667c1245dd301fa3004dde61b9f946 Mon Sep 17 00:00:00 2001 From: Christian Date: Fri, 20 Dec 2024 19:17:00 +0100 Subject: [PATCH] Day 20 shave off some cycles --- aoc/src/dev/ctsk/aoc/days/Day20.scala | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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) }