Skip to content

Commit 46b3876

Browse files
authored
Create 3356. Zero Array Transformation II (#739)
2 parents 405394d + 938e13f commit 46b3876

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

3356. Zero Array Transformation II

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class Solution {
2+
public:
3+
int minZeroArray(vector<int>& nums, vector<vector<int>>& queries) {
4+
int n = nums.size();
5+
6+
auto check = [&](int k) {
7+
vector<int> mp(n + 1, 0);
8+
for(int i = 0; i < k; i++) {
9+
mp[queries[i][0]] += queries[i][2];
10+
mp[queries[i][1] + 1] -= queries[i][2];
11+
}
12+
int sum = 0;
13+
for(int i = 0; i < n; i++) {
14+
sum += mp[i];
15+
if(sum < nums[i]) return 0;
16+
}
17+
return 1;
18+
};
19+
20+
int l = 0, h = queries.size();
21+
22+
if(!check(h)) return -1;
23+
24+
int k = -1;
25+
while(l <= h) {
26+
int mid = (l + h) / 2;
27+
if(check(mid)) {
28+
k = mid;
29+
h = mid - 1;
30+
}
31+
else {
32+
l = mid + 1;
33+
}
34+
}
35+
return k;
36+
}
37+
};

0 commit comments

Comments
 (0)