HUST Online Judge WebBoard
Problem 1388 >> std
20220440216 @ 2024-07-20 21:07:37
[ Quote ] [ Edit ] [ Delete ] 1#
#include<bits/stdc++.h>
#define ll long long
#define rep(i,n) for(ll i=0;i<n;i++)
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
const ll M=2e5+10;
ll arr[M],brr[M];
ll n,m;
ll ch(ll a)
{
ll b=m;
for(ll i=0;i<n;i++)
{
if(a>brr[i])
{
return 0;
}
if(arr[i]<a)
{
b-=a-arr[i];
}
}
return b>=0;
}
int main()
{
cin>>n>>m;
rep(i,n)
{
cin>>arr[i];
}
rep(i,n)
{
cin>>brr[i];
brr[i]+=arr[i];
}
ll l=-5000,r=1e18,ans=0;
while(r>=l)
{
ll mid=l+r>>1;
if(ch(mid))
{
ans=max(ans,mid);
l=mid+1;
}
else
r=mid-1;
}
cout<<ans;
}