Submission #1286726

#TimeUsernameProblemLanguageResultExecution timeMemory
1286726fzyzzz_zSelf Study (JOI22_ho_t2)C++20
0 / 100
96 ms4936 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; 

        ll 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 >= 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...