#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n, m;
cin >> n >> m;
ll a[n], b[n];
for (ll i = 0; i < n; i ++)
cin >> a[i];
for (ll i = 0; i < n; i ++)
cin >> b[i];
for (ll i = 0; i < n; i ++)
a[i] = max(a[i], b[i]);
ll lo = 0, hi = 1e18;
while (hi - lo > 1){
ll mid = (lo + hi) / 2;
ll rest = 0, del = 0;
for (ll i = 0; i < n; i ++){
ll need = mid / a[i];
if (mid % a[i]) need++;
del += min(m, need);
if (need > m){
ll rem = mid - a[i] * m;
need = rem / b[i];
if (rem % b[i]) need++;
rest += need;
}
}
if (del + rest <= n * m)
lo = mid;
else
hi = mid;
}
cout << lo << endl;
}
| # | 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... |