제출 #1351737

#제출 시각아이디문제언어결과실행 시간메모리
1351737Alihan_8Self Study (JOI22_ho_t2)C++20
0 / 100
159 ms5104 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main(){
    int n, m; cin >> n >> m;

    vector <int> A(n), B(n);

    for ( auto &u: A ) cin >> u;
    for ( auto &v: B ) cin >> v;

    auto ok = [&](int x){
        int cnt = 0;

        for ( int i = 0; i < n; i++ ){
            A[i] = max(A[i], B[i]);

            if ( A[i] * m >= x ){
                cnt += m - (x + A[i] - 1) / A[i];
            } else{
                cnt -= (x - m * A[i] + B[i] - 1) / B[i];
            }
        }

        return cnt >= 0;
    };

    int l = 0, r = 1e18 + 1;

    while ( l + 1 < r ){
        int x = (l + r) / 2;

        if ( ok(x) ) l = x;
        else r = x;
    }

    cout << l << '\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...