about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--aoc/2021/07/part-one.raku3
-rw-r--r--aoc/2021/07/part-two.raku4
2 files changed, 7 insertions, 0 deletions
diff --git a/aoc/2021/07/part-one.raku b/aoc/2021/07/part-one.raku
new file mode 100644
index 0000000..81cb7d4
--- /dev/null
+++ b/aoc/2021/07/part-one.raku
@@ -0,0 +1,3 @@
+my @input = map +*, split ',', trim slurp 'input';
+sub cost($align) { [+] map { abs $align - $_ }, @input }
+put min (cost $_ for (min @input)...(max @input))
diff --git a/aoc/2021/07/part-two.raku b/aoc/2021/07/part-two.raku
new file mode 100644
index 0000000..d4934d9
--- /dev/null
+++ b/aoc/2021/07/part-two.raku
@@ -0,0 +1,4 @@
+my &cum = { $_ * ($_ + 1) div 2 };
+my @input = map +*, split ',', trim slurp 'input';
+sub cost($align) { [+] map { cum abs $align - $_ }, @input }
+put min (cost $_ for (min @input)...(max @input))