#!/usr/bin/env ruby # frozen_string_literal: true class Main def run @sum = 0 $stdin.each_line do |line| nums = line.chomp.each_char.map(&:to_i) memo = recurse(12, nums, []) @sum += memo.join.to_i end puts @sum end def recurse(i, nums, memo) return memo if i == 0 max = nums[..-i].max memo << max recurse(i - 1, nums[nums.find_index(max) + 1..], memo) end end Main.new.run