#include<bits/stdc++.h>
#include<string.h>
#include <algorithm>
#include <iterator>
#include <set>
#include <stdlib.h>
#define ll long long
#define fr first
#define sc second
#define pb push_back
using namespace std;
ll a,b,c,d,e,f,m,i,j,n,h,g,l,r,ka,p,q[3000005],t[5000005],k[5000005];
map<ll,ll> mee,see;
map<ll,ll> maa,mii;
vector<ll> vas[1000006],ves[200005],vis,vii;
string x[100000],y,z;
pair<ll,ll> wefe;
priority_queue<ll> pq;
stack<ll> munkh;
int main(){
cin>>a>>b;
for(i=0 ; i<a ; i++){
cin>>k[i];
}
for(i=0 ; i<a ; i++){
cin>>q[i];
k[i]=max(k[i],q[i]);
}
l=0;
r=1e18;
while(l<r){
m=(l+r+1)/2;
g=0;
for(i=0 ; i<a ; i++){
if((m+k[i]-1)/k[i]<=b){
g+=b-(m+k[i]-1)/k[i];
}
else{
c=m-b*k[i];
g-=(c+q[i]-1)/(q[i]);
}
}
if(g>=0){
l=m;
}
else{
r=m-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... |