Algorithm: Sort by end point. Shoot at each endpoint. Count arrows.
Sort balloons by end point.
Shoot an arrow at the first balloon's end point.
This bursts all balloons that include this point.
Move to the next unbursted balloon and repeat. Number of arrows = number of groups. Time: . Space: . Shooting at the endpoint maximizes balloons burst per arrow. Any balloon ending at or after this point that started before is burst.