90pts求助玄三关
查看原帖
90pts求助玄三关
1053122
shy_lihui楼主2024/9/29 20:43
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,s,L,ans;
int h[2000005];
int a[2000005];
bool check(int d)
{
	unsigned long long cnt=0;
	for(int i=1;i<=n;i++)
	{
		
		if(a[i]+d*h[i]>=L)
		{
			cnt+=a[i]+d*h[i];
		}
	}
	return cnt>=s;
}
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n>>s>>L;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>h[i];
	}
	int l=0,r=1e18;
	while(l<=r)
	{
		int mid=l+r>>1;
		if(check(mid))
		{
			ans=mid;
			r=mid-1;
		}
		else
		{
			l=mid+1;
		}
	}
	cout<<ans;
	return 0;
}

2024/9/29 20:43
加载中...