记得开long long!
记得开long long!
记得开long long!
#include <iostream>
using namespace std;
const int N=1e5+10;
int a[N];
int b[N];
int n,k;
bool check(long long x)
{
long long num=0;
for(int i=0;i<n;i++)
{
if(a[i]*x>b[i]){
num+=a[i]*x-b[i];
}
if(num>k) return false;
}
return true;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
long long l=0;
long long r=2e9;
while(l<r)
{
long long mid=(l+r+1)/2;
if(check(mid)){
l=mid;
}else{
r=mid-1;
}
}
printf("%lld",l);
return 0;
}
十年oi一场空 不开long long见祖宗 hh