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" # ] inputs = [gets, gets, gets] puts calc(inputs)