Untitled
unknown
plain_text
3 years ago
879 B
12
Indexable
#include<bits/stdc++.h>
#include<algorithm>
#define int long long
using namespace std;
bool check(int pos,int k,vector<int>&a,vector<int>&b){
int n=a.size();
int reqx=0;
for(int i=0;i<n;i++){
int reqt=a[i]*pos;
int reqc=max(reqt-b[i],0ll);
if(k>=reqc)
k-=reqc;
else
return false;
}
return true;
}
signed main(){
int n,k;
cin>>n>>k;
vector<int>a(n),b(n);
int req=0;
for(int i=0;i<n;i++){
cin>>a[i];
req+=a[i];
}
for(int i=0;i<n;i++){
cin>>b[i];
}
int ans;
int low=0,high=2*(1e9);
while(low<=high){
int 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...