#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef __int128_t ll;
const int MAX = 400000;
int A[MAX], B[MAX];
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int N, M, st, en, md, ans;
ll X, Y;
cin >> N >> M;
for (int i = 1; i <= N; i++)
cin >> A[i];
for (int i = 1; i <= N; i++)
cin >> B[i], A[i] = max(A[i], B[i]);
st = 0, en = 1000000000000000000, ans = 0;
while (st <= en) {
md = st + en >> 1, X = 0, Y = 0;
for (int i = 1; i <= N; i++) {
if ((md + A[i] - 1) / A[i] <= M)
X += M - (md + A[i] - 1) / A[i];
else
Y += (md - A[i] * M + B[i] - 1) / B[i];
}
if (Y <= X)
st = md + 1, ans = md;
else
en = md - 1;
}
cout << ans << '\n';
return 0;
}
# | 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... |