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