考慮某個位置 $i$ 的沙包,他要被搬去哪?如果 $a_i \gt k$ 則搬不動跳過;否則找右邊第一個 $a_j \ge a_i$ 的位置 $j$,因為若是 $a_j \lt a_i$ 則 $j$ 應該會較 $i$ 先被搬空。
而「找右邊第一個 $\ge$ 自己的」是單調棧裸題。