The calculated distance (air line) between Puigcerdà and Olot is approximately 34 miles respectively 54 kilometers.
By car or train, the actual journey to Olot is certainly longer, as only the direct route (as the crow flies) between Puigcerdà and Olot has been calculated here.