
A mobile feed view contains n vertically stacked cards with heights stored in integer array heights, and a viewport of height viewport. During scrolling, rendering all cards is too expensive. Return the smallest contiguous range [start, end] such that the sum of heights[start:end+1] is at least viewport. If multiple ranges have the same length, return the one with the smallest start. If no such range exists, return [-1, -1].
1 <= heights.length <= 10^51 <= heights[i] <= 10^41 <= viewport <= 10^9