#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
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];
int l=1,r=1e18;
while(l<r)
{
int mid=(l+r+1)/2;
int h=1;
int cnt=n*m;
for(int i=0;i<n;i++)
{
int t=mid;
int sum=0;
if(b[i]>=a[i])
{
if(t%b[i]==0)
sum+=t/b[i];
else
sum+=t/b[i]+1;
}
else if(a[i]*m>=t)
{
if(t%a[i]==0)
sum+=t/a[i];
else
sum+=t/a[i]+1;
}
else
{
sum+=m;
t-=a[i]*m;
if(t%b[i]==0)
sum+=t/b[i];
else
sum+=t/b[i]+1;
}
if(sum>cnt)
{
h=0;
break;
}
cnt-=sum;
}
//cout<<l<<" "<<r<<" "<<mid<<endl;
if(h)
l=mid;
else
r=mid-1;
}
cout<<l;
}
# | 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... |