40分蒟蒻求助
查看原帖
40分蒟蒻求助
1276934
liuziqiputuo楼主2024/11/3 10:41

7-10对了

#include<bits/stdc++.h>
#define ll long long 
#define db long double
#define f(n) for(ll i=1;i<=n;++i)
using namespace std;
const db eps=1e-5;
bool f;
ll x[200005],y[200005],s[200005];
int main()
{
	db n,l=0,r=1e9,mid,ans=0;
	cin>>n;
	f(n)cin>>x[i]>>y[i]>>s[i];
	while(l+eps<=r)
	{
		f=0;
		mid=(l+r)/2;
		db t=0;
		f(n)
		{
			t+=s[i]/mid;
			if(t>y[i])
			{
				f=1;
				break;
			}
			else t=x[i];
		}
		if(f==0)
		{
			ans=mid;
			r=mid;
		}
		else l=mid;
    } 
    cout<<setprecision(2)<<fixed<<ans<<endl;
	return 0;
}

2024/11/3 10:41
加载中...