Design an appropriate data strcuture that accpets following to APIs:
void Insert(Object obj, float weight)
Object RandomPop()
Insert an object with weight, and randomly pops out an object, with the probability proportional to the total weight (i.e. an object with weight 0.5 should have 1/3 probability being popped compared with an object with weight of 1.5; also say total weight of objects we have now is 3, then an object with weight 0.5 should have probability of 0.5/3 being popped).