求助!!!
查看原帖
求助!!!
774559
frzFRZ楼主2024/7/19 09:52
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,s,L,l,r,mid,ans,a[200010],h[200010];
bool check(int x)
{
	int cnt;
	for(int i=1;i<=n;i++)
		if(h[i]+a[i]*x>=L) cnt+=h[i]+a[i]*x;
	return cnt>=s;
}
signed 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];
	l=0;r=0xf3f3f;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(check(mid))
		{
			r=mid-1;
			ans=mid;
		}
		else l=mid+1;
	}
	printf("%lld\n",ans);
	return 0;
}

为什么我感觉没啥问题,可是测样例的时候就输出了一些奇奇怪怪的答案! 比如说0;

2024/7/19 09:52
加载中...