#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define ff first
#define ss second
#define MOD 1000000009
#define INF 1000000019
#define INFL 1000000000000000099LL
ll a,b,c,d,t,n,m,l,q;
vector<ll>v,v2;
bool czy(ll x){
a=0;
for(ll i=0;i<n;i++){
v[i]=max(v[i],v2[i]);
if(m*v[i]>=x){
a+=(x+v[i]-1)/v[i];
}
else{
a+=m+(x-m*v[i]+v2[i]-1)/v2[i];
}
}
return a<=m*n;
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n>>m;
for(ll i=0;i<n;i++){
cin>>a;
v.pb(a);
}
for(ll i=0;i<n;i++){
cin>>a;
v2.pb(a);
}
ll pocz=0;
ll kon=INFL;
while(pocz!=kon){
ll mid=(pocz+kon+1)/2;
if(czy(mid)){
pocz=mid;
}
else{
kon=mid-1;
}
}
cout<<pocz;
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... |