求助
查看原帖
求助
533181
Su_xu楼主2024/8/16 14:27

90 QWQ

#include<bits/stdc++.h>
using namespace std;
double r,l;
double n,m,a[200010],b[200010],sum;
double pd(double x)
{
	double sum=0;
	for(int i=1;i<=n;i++)
	{
		double temp=a[i]*x;
		if(temp>b[i]) sum+=temp-b[i];
	}
	return sum;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		scanf("%lf%lf",&a[i],&b[i]);
		sum+=a[i];
	}
	if(sum<=m) 
	{
		cout<<-1<<endl;
		return 0;
	}
	l=0;r=1e10;
	while(l<r)
	{
		double mid=(l+r)/2.0;
		if(pd(mid)>mid*m)
		{
			r=mid-0.0000000000001;
		} 
		else l=mid+0.0000000000001;
	}
	printf("%.10lf",l);
	return 0;
}
2024/8/16 14:27
加载中...