Dynamic programming II