Mental Model
We want to find the largest product of a continuous part of the list. Because multiplying by a negative number flips signs, we keep track of both the biggest and smallest products so far.
Analogy: Imagine walking on a path where stepping on a slippery stone (negative number) can flip your direction. To reach the farthest point forward (maximum product), you remember both how far you went forward and backward, so you can use a backward step to jump forward later.
Array: [2] -> [-3] -> [4] -> [-1] -> [0] -> [5] Track max_prod and min_prod at each step to find max overall.
