3
bool check(int mid, vector<int> &v, int m, int k) {5
int cnt = 0; // taking cnt for the no of k adjacent bouquets possible6
for (int i = 0; i < v.size(); i++) {9
while (i < n and v[i] <= mid) {11
c++; // c->checking for adjacent count16
if (cnt >= m) return true;19
int minDays(vector<int> &bloomDay, int m, int k) {20
int s = *min_element(bloomDay.begin(), bloomDay.end());21
int e = *max_element(bloomDay.begin(), bloomDay.end());23
if ((m * k) > bloomDay.size()) return -1;25
int mid = s + (e - s) / 2;26
if (check(mid, bloomDay, m, k)) {