95分玄关求调!!
查看原帖
95分玄关求调!!
1282954
zhouwanlian161楼主2024/5/12 15:24

第一个点错了

#include<bits/stdc++.h>
using namespace  std;
#define int unsigned long long
int n,S,L;
const int maxn=2e5+10;
int h[maxn],grow[maxn];
bool check(int x){
	int ans=0;
	for(int i=1;i<=n;i++){
		int s=h[i]+x*grow[i];
		if(s>L)ans+=s;
		if(ans>=S)return true;
	}
	return false;
	
}
signed main(){
	cin>>n>>S>>L;
	for(int i=1;i<=n;i++){
		cin>>h[i];
	}
	for(int i=1;i<=n;i++){
		cin>>grow[i];
	}
	int l=0,r=1e18;
	while(l<r){
		int mid=(l+r)/2;
		if(check(mid))r=mid;
		else l=mid+1;
	}
	cout<<l;
	return 0;
}
2024/5/12 15:24
加载中...