Dynamic Programming And Greedy Approach For Optimizing