#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+5;
while (s+1<e)
{
int mid=(s+e)/2, ex=0;
for (int i=0;i<n;i++)
if (a[i]*m>=mid)
ex+=m-(mid+a[i]-1)/a[i];
for (int i=0;i<n && ex>=0;i++)
if (a[i]*m<mid)
{
int val=(mid-a[i]*m+b[i]-1)/b[i];
if (ex<val) ex=-1;
else ex-=val;
}
if (ex>=0)
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... |