LeetCode 907 Sum of Subarray Minimums - Why Naive Fails

The trap

Generate all O(n2)O(n^2) subarrays. For each, find the minimum in O(n)O(n) time.

Total: O(n3)O(n^3). Even optimizing to O(n2)O(n^2) (tracking min while extending) is too slow for n=30000n = 30000.

Can you count each element's contribution in O(n)O(n)?