Make Change Problem Dynamic Programming Algorithm Optimization