50 people
Let x represent the number of people on the cruise. The amount they each must pay is ...
... ($58 -(x -42)) = $100 -x
The revenue from the group is the product of the number of people and the amount each pays:
... r(x) = x·(100 -x)
This describes a downward-opeing parabola with zeros at x=0 and x=100. The vertex (maximum) will be found halfway between those zeros, at x=50.
A group size of 50 maximizes revenue from the cruise.