力扣2594.修车的最少时间
二分答案
class Solution { public: long long repairCars(vector<int>& ranks, int cars) { ranges::sort(ranks); auto check = [&](long long x) -> bool { long long res = 0; for(auto v : ranks) { long long k = sqrt(x/v); res += k; if(res >= cars) return true; } return false; }; long long l = 1,r = (long long)ranks[0]*cars*cars; while(l < r) { long long mid = (l+r)/2; if(check(mid)) r = mid; else l = mid + 1; } return l; } };