#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int a[N];
int b[N];
signed main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)cin>>b[i];
int lo=0,hi=1e18;
while(hi>=lo){
int mid=(hi+lo)/2;
int p=0;
for(int i=1;i<=n;i++){
int k=mid/a[i];
if(mid%a[i])k++;
k=min(k,m);
p+= m-k;
int u = max(0LL,mid- k*a[i]);
int g= u/b[i];
if(u%b[i])g++;
p-=g;
}
if(p>=0)lo=mid+1;
else hi=mid-1;
}
cout<<hi;
}
| # | 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... |