activity selection problem using dynamic programming