85分求助!!!【2】,【6】,【11】
查看原帖
85分求助!!!【2】,【6】,【11】
1023521
LGS100200楼主2024/5/5 20:44
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,d,a[1000005],b[1000005],m,l,r,mid,z,c;
bool p(unsigned long long x)
{
	unsigned long long v1=0;
	for(int i=1;i<=n;i++)
	{
		unsigned long long v2=(a[i]+(b[i]*x));
		v1+=(v2/c);
	}
	return v1>=m;
}
int main()
{
	cin>>n>>z>>c;
	m=z/c+z%c%2;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		r+=a[i]/c;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
	}
	if(r>=m)
	{
		cout<<0;
		return 0;
	}
	l=0,r=1000000000000000000LL;
	while(l+1<r)
	{
		mid=(l+r)/2;
		if(p(mid))
		{
			r=mid;
		}
		else
		{
			l=mid;
		}
	}
	cout<<r;
	return 0;
} 
2024/5/5 20:44
加载中...