Partition Problem Dynamic Programming