CSES – Factory Machines

二分搜

#include<bits/stdc++.h>
#define int long long
#define double long double
#define f first
#define s second
#define fastio ios_base::sync_with_stdio(false);cin.tie(0)
using namespace std;
//declare
int n,t;
vector<int>v;
//
bool check(int m){
    int cnt=0;
    for(int i=0;i<n;i++){
        cnt += m / v[i];
        if(cnt >= t) return true;
    }
    return false;
}
signed main(){
    fastio;
    cin>>n>>t;
    for(int i=0;i<n;i++){
        int x; cin>>x;
        v.push_back(x);
    }
    int L = 0, R = 1e18;
    while(R-L > 1){
        int m = L+(R-L)/2;
        if(check(m)) R = m;
        else L = m;
    }
    cout<<R<<"\n";
    return 0;
}

相關文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *