class Array using Module.new { refine Integer do def -(other) (super other).tap { break 0 if _1 < 0 } end end } def battle(other) zip(other).map { |a, b| a - b }.sum end end def calc(inputs) a, b = inputs[1..].map { _1.split.map(&:to_i) } a.permutation.map { |xs| xs.battle(b) }.then { |result| result.count result.max } end inputs = [ "3", "3 4", "1 4" ] inputs = [ "3", "5 5 5", "7 5 6" ] inputs = [ "5", "6 5 5 4 4", "1 3 5 7 9" ] inptus = readlines puts calc(inputs)