#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |