제출 #1359137

#제출 시각아이디문제언어결과실행 시간메모리
1359137SulASelf Study (JOI22_ho_t2)C++20
62 / 100
171 ms5100 KiB
#include <bits/stdc++.h>
using namespace std;
using namespace chrono;

int main() {
    int n,m; cin >> n >> m;
    long long A[n], B[n];
    for (auto& x : A) cin >> x;
    for (auto& x : B) cin >> x;
    for (int i = 0; i < n; i++)
        A[i] = max(A[i], B[i]);

    auto check = [&](long long x) {
        long long need = 0;
        for (int i = 0; i < n; i++) {
            if (x <= m*A[i]) {
                need += 1 + (x-1)/A[i];
            } else {
                need += m + 1 + (x - m*A[i] - 1)/B[i];
            }
            if (need > 1ll*n*m) { ;return false; };
        }
        return true;
    };
    long long l = 0, r = 1e18 + 1;
    while (l+1 < r) {
        auto mid = (l+r)/2;
        (check(mid) ? l : r) = mid;
    }
    cout << l;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…