Bottleneck Problems, Functional Equations, and Dynamic Programming | Synapse