Skip to content

Commit 2f5a1cd

Browse files
committed
Time: 100 ms (92.51%) | Memory: 69.3 MB (13.37%) - LeetSync
1 parent 0b927c8 commit 2f5a1cd

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class Solution {
2+
public:
3+
4+
bool possible(vector<int>& bloomDay, int day, int m, int k){
5+
int cnt = 0;
6+
int noOfB = 0;
7+
for(int i = 0; i < bloomDay.size(); i++){
8+
if(bloomDay[i] <= day) cnt += 1;
9+
else{
10+
noOfB += (cnt / k);
11+
cnt = 0;
12+
}
13+
}
14+
noOfB += (cnt / k);
15+
return noOfB >= m;
16+
}
17+
18+
int minDays(vector<int>& bloomDay, int m, int k) {
19+
long long val = m * 1LL * k *1LL;
20+
if(val > bloomDay.size()) return -1;
21+
int mini = INT_MAX, maxi = INT_MIN;
22+
for(int i = 0; i < bloomDay.size(); i++){
23+
mini = min(mini, bloomDay[i]);
24+
maxi = max(maxi, bloomDay[i]);
25+
}
26+
int low = mini, high = maxi;
27+
while(low <= high){
28+
int mid = low + (high - low) / 2;
29+
if(possible(bloomDay, mid, m, k)) high = mid - 1;
30+
else low = mid + 1;
31+
}
32+
return low;
33+
}
34+
};

0 commit comments

Comments
 (0)