It looks like `Array#weighted_sample` can handle relative probabilities, so why do you require here that they add up to 100?