//In the name of GOD
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("sse4")
#include <bits/stdc++.h>
using namespace std;
const int maxN=3e5+5;
long long n, m, a[maxN], b[maxN];
int main(){
cin.tie(0); cout.tie(0);
ios_base::sync_with_stdio(false);
cin >>n >>m;
for (int i=1; i<=n; i++) cin >>a[i];
for (int i=1; i<=n; i++) cin >>b[i];
long long l=0, r=LLONG_MAX;
while(r-l>1){
long long mid=(r>>1)+(l>>1), cnt=0;
for (int i=1; i<=n; i++){
if(a[i]<b[i]) cnt+=(mid+b[i]-1)/b[i];
else{
long long A=((mid+a[i]-1)/a[i]<m ? (mid+a[i]-1)/a[i] : m), B=((0LL<mid-A*a[i] ? mid-A*a[i] : 0LL)+b[i]-1)/b[i];
cnt+=A+B;
}
if(cnt>n*m){
r=mid;
break;
}
}
if(r!=mid) l=mid;
}
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... |