编译失败,自测却通过。大佬救救
查看原帖
编译失败,自测却通过。大佬救救
780757
SY_Nightmare楼主2023/6/25 10:17
#include<bits/stdc++.h>
using namespace std;
double n,p;
double a[100005],b[100005];
double num=0;
double maxx=0,minn=1e+10;
bool pd(double x)
{
	double w=p*x;
	num=0;
	for(int i=1;i<=n;i++)
	{
		if(a[i]*x<=b[i]) continue;
		num+=(a[i]*x-b[i]);
	}
	return num<=w;
}
int main()
{
	cin>>n>>p;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i];
		num+=a[i];
	}
	if(num<=p)
	{
		cout<<cout<<-1<<endl;
		return 0;
	}
	while(minn-maxx>1e-6)
	{
		double midn=(maxx+minn)/2;
		if(pd(midn)) maxx=midn;
		else minn=midn;
	}
	cout<<maxx<<endl;
 	return 0;
} 
2023/6/25 10:17
加载中...