The problem of maximizing the altitude of a rocket in vertical flight has been extensively analyzed by many writers since the early days of rocketry. In the beginning, solutions were obtained using the classical theory of the Calculus of Variations, and later using Optimal Control theory. For strict assumptions on the drag law and the thrust, solutions were found, even in a closed, analytic form. Nevertheless, for more realistic conditions, the problem becomes a very complex one, and the solution is far from complete. In addition to this, complexity increases if an isoperimetric constraint is added to the problem. Such a case is, for example, the problem of extremizing the rise in altitude for a given time. In the present work an attempt is made to treat the problem under the most realistic assumptions used so far, for both the system of equations and the drag model. The analysis of the problem reveals that a more complex thrust history exists than the classical sequence of full-singular-coast subarcs, for both the time-constrained case, and for the case of a drag model with a sharp rise in the transonic region. In the first case, a second full-thrust subarc is generated at the end of the singular subarc, owing to the boundedness of the thrust, while, in the second case, a full-thrust subarc appears in transition from the subsonic to the supersonic branch of the singular path. Both are new results, at least for the bounded-thrust case, and the drag law assumed, insofar as the author knows. Discussion is also provided for the limitations of such a switching structure, and it is shown that the composition of an optimal trajectory is heavily dependent on the assumed drag law.