seastar
Member
Nếu anh em nào code C++ quen thì sẽ k cần implement lại cái binary search nữa, cái đó có sẵn trong standard library rồi. Việc cần làm là xác định cận trên, cận dưới, và check function thôi.
Như dưới đây là lời giả cho bài: https://leetcode.com/problems/minimum-time-to-repair-cars/
K cần phải implement lại binary search nữa,
Như dưới đây là lời giả cho bài: https://leetcode.com/problems/minimum-time-to-repair-cars/
K cần phải implement lại binary search nữa,
![ah :ah: :ah:](https://data.voz.vn/styles/next/xenforo/smilies/popopo/ah.png?v=01)
C++:
#include <ranges>
class Solution {
public:
long long repairCars(vector<int>& ranks, int cars) {
auto range = ranges::iota_view{0ll, (long long)cars*cars*(*ranges::min_element(ranks))};
return *ranges::lower_bound(range, cars, [&ranks] (auto i, auto target) {
auto ret = accumulate(ranks.begin(), ranks.end(), 0ll, [i] (auto acc, auto x) { return acc + sqrt(i/x); });
return ret < target;
});
}
};