#include<iostream>
using namespace std;
long long n,m,minb,a[200005],b[200005];
int main(){
cin>>n>>m;
minb=m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
cin>>b[i];
minb=min(minb,b[i]+a[i]);
}
long long l=0,r=minb,mid;
while(l<=r){
mid=(l+r)/2;
long long ans=0;
for(int i=1;i<=n;i++){
if(a[i]<mid)ans+=mid-a[i];
}
if(ans>=m)r=mid-1;
else l=mid+1;
}
cout<<mid;
return 0;
}
一直 WA on #10