1 条题解

  • 0
    @ 2024-1-29 16:15:14

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int n, m, a[100001];
    long long l = 0, r = 1e18, mid, ans = 1e18, cnt;
    
    int main() {
        cin >> n >> m;
        for (int i = 1; i <= n; i++)
            cin >> a[i];
    
        while (l <= r) {
            mid = (l + r) / 2;
            cnt = 0;
            for (int i = 1; i <= n; i++)
                cnt += (mid / a[i]);
    
            if (cnt < m)
                l = mid + 1;
            else {
                ans = min(ans, mid);
                r = mid - 1;
            }
        }
    
        cout << ans;
        return 0;
    }
    
    • 1

    信息

    ID
    535
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者