16 lines
368 B
Ruby
16 lines
368 B
Ruby
input = File.read('./input').split("\n\n").map { |l| l.split("\n") }
|
|
|
|
$p1 = input[0].drop(1).map(&:to_i)
|
|
$p2 = input[1].drop(1).map(&:to_i)
|
|
|
|
until $p1.empty? || $p2.empty?
|
|
p1 = $p1.shift
|
|
p2 = $p2.shift
|
|
|
|
p1 > p2 ? $p1.push(p1, p2) : $p2.push(p2, p1)
|
|
end
|
|
|
|
$winner = $p1.empty? ? $p2 : $p1
|
|
|
|
puts (1..$winner.size).reverse_each.zip($winner).map { |l, r| l * r }.sum
|