class BlockNumbers attr_reader :l, :n, :w def initialize(l: 0, n: 0, w: []) @l, @n, @w = l, n, w end def datainput begin @l = Integer(gets.chomp) @n = Integer(gets.chomp) @w = gets.chomp.split.map { |v| Integer(v) } rescue end end def how_many_blocks(box_width, width_blocks) width_blocks = width_blocks.sort sum = 0 width_blocks.each_with_index do |width, i| sum += width return i if box_width < sum end end def dataoutput puts how_many_blocks(@l, @w) end def run datainput dataoutput end end if $0 == __FILE__ BlockNumbers.new.run end