Assuming that I precisely know which charity does how much good, I thought for a long time that it is most efficient to spend all my charity budget on this single charity. However, last week I thought that utility can be expressed as a function of how much money every charity has. So rather then spending everything on one charity, I should allocate my money based on the gradient of the utility function in it's current state (provided the utility function is smooth around this state). I would appreciate some (hopefully mathematically not challenging) comment.

Thanks.