Untitled

 avatar
unknown
plain_text
2 years ago
879 B
7
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...