1658. Minimum Operations to Reduce X to Zero
class Solution {
public:
int minOperations(vector<int>& nums, int x) {
int sum = 0;
for(auto num : nums) sum += num;
sum -= x;
int ans = -1;
uint32_t win = 0;
for(int l = 0, r = 0; r < nums.size(); r++) {
win += nums[r];
while(l <= r && win - nums[l] >= sum) win -= nums[l++];
if(win == sum) ans = max(ans, r - l + 1);
}
return ans == -1 ? -1 : nums.size() - ans;
}
};