Let's picture the problem from the point of view of the boy. At the instant he catches the ball he must be directly under it. At the instant he throws the ball he must be directly under it. That means that his average horizontal velocity must be the same as that of the ball. At full speed his horizontal velocity is 20m/3s or 6.67 m/s. If we assume that his 20 m dash speed is valid over the duration of the ball's flight and that he threw the ball from a standing start, then the horizontal velocity of the ball is 6.67 m/s.
We are given that the total velocity of his throw is 20 m/s. The vertical velocity then must complete a right triangle with hypotenuse 20 and one leg 6.67. That gives us 20^2=6.67^2+v^2 or v^2=400-44.49 = 355.51, or v=18.85 m/s. The vertical velocity is zero at the top of the trajectory so the change in vertical velocity is 18.85 m/s. At an acceleration of -9.8 m/s/s this requires 1.92 seconds. The distance covered in time t is d=1/2*9.8*t^2 or 18.14 m.
Of course if he cheats by taking a running start, more of his throw velocity can be directed vertically so the ball will rise higher.
By the way. Always check my arithmetic. I am terrible with numbers.