美文网首页
2141. 同时运行 N 台电脑的最长时间

2141. 同时运行 N 台电脑的最长时间

作者: 来到了没有知识的荒原 | 来源:发表于2022-01-20 11:16 被阅读0次

2141. 同时运行 N 台电脑的最长时间

二分答案(证明+图解)

class Solution {
public:
typedef long long ll;
    bool check(vector<int> &bs,ll t, ll n) {
        ll sum=0;
        for(auto s:bs)sum+=min(1ll*s,t);
        return sum/t>=n;
    }
    long long maxRunTime(int n, vector<int>& bs) {
        ll sum=0;
        for(auto s:bs) sum+=s;
        ll l=0,r=sum;
        while(l<r){
            ll mid=l+r+1>>1;
            if(check(bs,mid,n))l=mid;
            else r=mid-1;
        }
        return l;
    }
};

相关文章

网友评论

      本文标题:2141. 同时运行 N 台电脑的最长时间

      本文链接:https://www.haomeiwen.com/subject/wrixhrtx.html