Find shortest subarray with sum ≥K. Use prefix sums: sum[l..r]=prefix[r+1]−prefix[l]≥K. We want prefix[r+1]−prefix[l]≥K, i.e., prefix[l]≤prefix[r+1]−K.
For each r, find smallest valid l. Maintain monotonic increasing deque of prefix indices. For each r, pop front while prefix[front]≤prefix[r]−K. After popping, if queue non-empty, the popped indices give valid subarrays. Track minimum length. Also pop back if prefix[r]≤prefix[back].