Submission #1356211

#TimeUsernameProblemLanguageResultExecution timeMemory
1356211gaySelf Study (JOI22_ho_t2)C++20
0 / 100
81 ms5132 KiB
#include <bits/stdc++.h>
#include <experimental/random>
#include <random>

//#include <ext/pb_ds/assoc_container.hpp>
//using namespace __gnu_pbds;

using namespace std;

using ld = long double;
using ll = long long;

const ll INF = 3e18, MOD = 1e9 + 7;

void solve();

signed main() {
#ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
    ios::sync_with_stdio(false);
    cin.tie(0);
    int q = 1;
    //cin >> q;
    while (q--) {
        solve();
    }
}

void solve() {
    ll n, m; cin >> n >> m;
    vector<ll> a(n), b(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++) {
        cin >> b[i];
        a[i] = max(a[i], b[i]);
    }
    ll l = 0, r = INF;
    while (r - l > 1) {
        ll mid = (l + r) / 2;
        ll c1 = 0, c2 = 0;
        for (int i = 0; i < n; i++) {
            if (a[i] * m < mid) {
                ll delta = mid - a[i] * m;
                c1 += (delta + b[i] - 1) / b[i];
            } else {
                c2 += m - (mid + a[i] - 1) / a[i];
            }
        }
        if (c2 >= c1) {
            l = mid;
        } else {
            r = mid;
        }
    }
    cout << l;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...