#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int n,m;
cin>>n>>m;
int 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]);
int s=0, e=1e18;
while (s+1<e)
{
int mid=(s+e)/2,tot=0;
for (int i=0;i<n;i++)
{
if (a[i]*m>=mid)
tot+=(mid+a[i]-1)/a[i];
else
tot+=(mid-a[i]*m+b[i]-1)/b[i]+m;
}
if (tot<=n*m)
s=mid;
else
e=mid;
}
cout<<s<<endl;
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... |