第8个测试点为什么不对?
#include <iostream>
#include <cstdio>
#include <algorithm>
#define ll long long
const int N=2e5+50;
using namespace std;
ll n,m,a[N],b[N],ans=0;
bool check(int mid){
ll ne=0;
for(int i=1;i<=n;i++){
if(a[i]<mid){
ne+=mid-a[i];
}
}
return ne<=m;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<=n;i++){
scanf("%lld",&b[i]);
}
int l=0,r=1e9;
while(l<=r){
int mid=l+(r-l)/2;
if(check(mid)){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans<<endl;
return 0;
}