90分求助!
查看原帖
90分求助!
515833
tang_mx楼主2023/4/2 11:44
#include<iostream>
#include<cstdio>

using namespace std;

const int N=2e5;
const unsigned long long MAX=1e17;

unsigned long long n,s,l,h[N],a[N];

bool check(unsigned long long x){
	unsigned long long sum=0;
	for(long long i=1;i<=n;i++){
		if(h[i]+a[i]*x>=l)sum+=h[i]+a[i]*x;
//		if(sum>=s)break;
	}
	if(sum>=s)return true;
	return false;
}

int main(){
	std::ios::sync_with_stdio(false);
	cin>>n>>s>>l;
	for(int i=1;i<=n;i++)cin>>h[i];
	for(int i=1;i<=n;i++)cin>>a[i];
	unsigned long long l=0,r=MAX;
	while(l<r){
		unsigned long long mid=(l+r)>>1;
		if(check(mid))r=mid;
		else l=mid+1;
	}
	cout<<l;
	return 0;
}
2023/4/2 11:44
加载中...