robot
and factory
arrays based on their positions.\n2. Calculate the prefix sum of factory limits to know the total limit up to each factory.\n3. Initialize a DP table dp
with dimensions [len(robot) + 1][len(factory) + 1]
.\n4. Set dp[0][j]
to 0 for all j
since no distance is traveled with 0 robots.\n5. Define a recursive helper function that computes dp[i][j]
.\n6. In the helper function, check if the total limit of the first j
factories is less than i
. If so, return -1.\n7. Explore all possible numbers of robots that can be assigned to the last factory.\n8. Calculate the total distance for assigning a certain number of robots to the last factory.\n9. Use the helper function to fill in the DP table.\n10. Return the value of dp[len(robot)][len(factory)]
as the result.