3
// 2-pointer doesnt work on neg elements4
// Using mono deque to solve sliding window5
int shortestSubarray(vector<int> &nums, int k) {8
vector<long> prefixsum(n, 0);11
prefixsum[0] = nums[0];12
for (int i = 1; i < n; i++) prefixsum[i] = prefixsum[i - 1] + nums[i];14
for (int i = 0; i < n; i++) {15
if (prefixsum[i] >= k) minsize = min(minsize, i + 1);17
while (!dq.empty() && prefixsum[i] - prefixsum[dq.front()] >= k) {18
minsize = min(minsize, i - dq.front());22
while (!dq.empty() && prefixsum[i] <= prefixsum[dq.back()]) {28
return (minsize == INT_MAX) ? -1 : minsize;