是不是死循环了
查看原帖
是不是死循环了
773747
yutong_Seafloor楼主2023/10/13 17:07
#include<bits/stdc++.h>
using namespace std;
double l,r=1e8,mid,t,ans;
int i,n;
int x[200010],y[200010],s[200010];
inline bool check(double v)
{
	double sum=0;
	for(int i=1;i<=n;i++)
	{
		sum+=s[i]/v;
		if(sum>y[i]) return false;
		if(sum<x[i]) sum=x[i];
	}
	return true;
}
int main()
{
	ios::sync_with_stdio(false);
	cin>>n;
	for(i=1;i<=n;i++)
	cin>>x[i]>>y[i]>>s[i];
	while(l<=r)
	{
		mid=(l+r)/2;
		if(check(mid)) ans=mid,r=mid;
		else l=mid;
	//	cout<<"qwq"<<endl;//一直输出qwq,应该是死循环,但不知道死在哪里了
	}
	printf("%0.2lf",ans); 
}
2023/10/13 17:07
加载中...