
样例2做出来死循环QwQ。
样例2:
输入:
3 1
2 1 4
11 3 16
输出:
4
代码:
#include<bits/stdc++.h>
using namespace std;
int n,k,a[100010],b[100010];
int cake(int mid){
int sum;
for(int i=1;i<=n;i++){
if(b[i]<a[i]*mid)
sum+=a[i]*mid-b[i];
}
if(sum<=k)
return 1;
return 0;
}
int main() {
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
int l=1,r=n,mid;
while(l<r){
mid=(l+r)/2;
if(cake(mid)){
l=mid;
}else
r=mid-1;
}
cout<<l;
return 0;
}