From 938e13fe85c8243ff6fa08af982599da98079f1c Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Thu, 13 Mar 2025 23:26:35 +0530 Subject: [PATCH] Create 3356. Zero Array Transformation II --- 3356. Zero Array Transformation II | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 3356. Zero Array Transformation II diff --git a/3356. Zero Array Transformation II b/3356. Zero Array Transformation II new file mode 100644 index 0000000..e0f1405 --- /dev/null +++ b/3356. Zero Array Transformation II @@ -0,0 +1,37 @@ +class Solution { +public: + int minZeroArray(vector& nums, vector>& queries) { + int n = nums.size(); + + auto check = [&](int k) { + vector mp(n + 1, 0); + for(int i = 0; i < k; i++) { + mp[queries[i][0]] += queries[i][2]; + mp[queries[i][1] + 1] -= queries[i][2]; + } + int sum = 0; + for(int i = 0; i < n; i++) { + sum += mp[i]; + if(sum < nums[i]) return 0; + } + return 1; + }; + + int l = 0, h = queries.size(); + + if(!check(h)) return -1; + + int k = -1; + while(l <= h) { + int mid = (l + h) / 2; + if(check(mid)) { + k = mid; + h = mid - 1; + } + else { + l = mid + 1; + } + } + return k; + } +};