Untitled
unknown
plain_text
3 years ago
628 B
14
Indexable
#define ll long long
bool check(ll pos,int k,vector<int>&a,vector<int>&b){
int n=a.size();
for(int i=0;i<n;i++){
ll reqt=a[i]*pos;
ll reqc=max(reqt-b[i],0ll);
if(k>=reqc)
k-=reqc;
else
return false;
}
return true;
}
long long solution(int n,int k,vector<int>a,vector<int>b){
ll ans;
ll low=0,high=2*(1e9);
while(low<=high){
ll mid=(low+high)/2;
if(check(mid,k,a,b)){
ans=mid;
low=mid+1;
}else{
high=mid-1;
}
}
cout<<ans<<endl;
}Editor is loading...