1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require "letters"

packages = DATA.read.split("\n").map(&:to_i)
total = packages.inject(:+)
weight = total/4

(2..packages.size).each do |i|
  puts i
  groups = packages.combination(i).select {|combo| combo.inject(:+) == weight }
  unless groups.empty?
    p groups.map {|g| g.inject(:*) }.sort[0,10]
    exit
  end
end
__END__