Algorithm Design By Dynamic Programming Problems Hackerrank