dynamic programming motivating applications and introduction to greedy algorithm