全部RE,求调
查看原帖
全部RE,求调
658220
54188_楼主2023/10/1 21:25
#include<bits/stdc++.h> 
using namespace std;
unsigned long long s,l;
int n;
unsigned long long h[200001];
unsigned long long a[200001];
unsigned long long sum(unsigned long long w){
	unsigned long long hh=0;
	for(int i=1;i<=n;i++){
		if((w*(a[i]-1)+h[i])>=l)
			hh=hh+w*(a[i]-1)+h[i];
	}
	return hh;
}
unsigned long long binary_search(unsigned long long f,unsigned long long r){
	unsigned long long mid=(f+r)/2;
	if(r-f<=1){
		return mid;
	}
	if(sum(mid)>=s){
		binary_search(f,mid);
	}
	else {
		binary_search(mid,r);
	}
}
int main() {
	cin>>n>>s>>l;
	for(int i=1;i<=n;i++){
		cin>>h[i];
	}
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	cout<<binary_search(0,1000000000000000000);
	return 0;
}
2023/10/1 21:25
加载中...