由于最近比较颓,所以下载数据次数都用光了,请神犇们帮我康康,是不是有什么地方我没想到的,还是哪里写错了的,谢谢啦~
代码:
#include<bits/stdc++.h>
using namespace std;
int x[200005],y[200005],s[200005],n;
bool check(double v)
{
double time=0;
for(int i=0; i<n; i++)
{
time += s[i]/v;
if(time<x[i]) {time=x[i]; continue;}
if(time>y[i]) return false;
}
return true;
}
int main()
{
cin>>n;
for(int i=0; i<n; i++) cin>>x[i]>>y[i]>>s[i];
double l=0,r=n-1;
while(l<r-0.0001)
{
double mid=(l+r)/2;
if(check(mid)) r=mid;
else l=mid;
}
printf("%.2lf",l);
return 0;
}