This is fairly straightforward actually. If he can row 5 mph and he rows against an upstream current of 3 mph, he is effectively moving at 2 mph. 2 mph for 1 mile = 1/2 hour or 30 minutes.
When he floats back down a mile, he is traveling at the speed of the current which is 3 mph; 3 mph for 1 mile = 1/3 hour or 20 minutes.
30+20 = 50 minutes.
Good luck