Code for the Advent of Code event
aoc
advent-of-code
1#!/usr/bin/env ruby
2# frozen_string_literal: true
3
4positions = ARGF.read.split(',').map(&:to_i)
5min, max = positions.minmax
6costs = (1..(max - min)).inject([0]) { _1 << (_1.last + _2) }
7
8puts (min..max).map { |pos| positions.sum { |p| (p - pos).abs } }.min
9puts (min..max).map { |pos| positions.sum { |p| costs[(p - pos).abs] } }.min