2594. 修车的最少时间
思路:二分查找。最长的时间为100*10^6 * 10^6
class Solution {
public:
bool check(long long u,vector<int>& ranks, long long cars){
for(int i=0;i<ranks.size();i++){
long long tmp=sqrt(u*1.0/ranks[i]);
cars-=tmp;
}
return cars<=0;
}
long long repairCars(vector<int>& ranks, int cars) {
long long l=1,r=1e14+10;
while(l<r){
long long mid=(l+r)/2;
if(check(mid,ranks,cars)) r=mid;
else l=mid+1;
}
return l;
}
};