Submission #1286727

#TimeUsernameProblemLanguageResultExecution timeMemory
1286727fzyzzz_zSelf Study (JOI22_ho_t2)C++20
100 / 100
113 ms5140 KiB
#include <bits/stdc++.h>
using namespace std; 

using ll = long long; 

int32_t main() {
    ios_base::sync_with_stdio(false); 
    cin.tie(0); 

    int n; 
    cin >> n; 
    ll k; 
    cin >> k; 
    vector<ll> a(n), b(n);
    for (auto & x: a) cin >> x; 
    for (auto & x: b) cin >> x; 


    ll lo = 0, hi = (1LL << 62); 

    while (lo < hi) {
        ll mid = (lo + hi + 1) / 2; 

        __int128_t extra = 0; 
        for (int i = 0; i < n; ++i) {
            ll best = max(a[i], b[i]); 

            if (best * k >= mid) {
                extra += k - (mid + best - 1) / best; 
            } else {
                extra -= (mid - best * k + b[i] - 1) / b[i]; 
            }
        }

        if (extra >= static_cast<__int128_t>(0)) {
            lo = mid;
        } else {
            hi = mid - 1; 
        }
    }

    cout << lo << '\n'; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...