Mental Model
We want to find the largest product of a continuous part of the list. Because multiplying by a negative can flip the sign, 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 suddenly change your direction. To know how far you can go positively, you must remember both your best and worst steps because a bad step might turn into a good one later.
Array: [2] -> [-3] -> [4] -> [-1] -> [0] -> [5] max_prod ↑ 2 min_prod ↑ 2 result ↑ 2