Minimum Time to Complete Trips LeetCode solution in C++

1
class Solution {
2
public:
3
long long minimumTime(vector<int> &time, int totalTrips) {
4
long long anstillnow = -1;
5

6
long long left = 1, right = 100000000000001; // can also write this as
7
// 1+1e14
8

9
while (left <= right) {
10
long long mid = left + (right - left) / 2; // find mid point like this to avoid overflow
11
long long curr_trips = 0;
12
for (int t : time) {
13
curr_trips += mid / t;
14
}
15

16
if (curr_trips >= totalTrips) {
17
anstillnow = mid;
18
right = mid - 1;
19
}
20

21
else {
22
left = mid + 1;
23
}
24
}
25

26
return anstillnow;
27
}
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0