为什么会90是精度的问题吗
查看原帖
为什么会90是精度的问题吗
832977
Submerge69楼主2024/2/26 19:29
#include<bits/stdc++.h>
using namespace std;
int n;
int x[100010],y[100010],s[100010];
double t;

int check(double temp){
	double time=0.0;
	for(int i=1;i<=n;i++){
		time+=s[i]/temp;
		if(time<x[i]) time=x[i];
		if(time>y[i]){
			return 0;
		}	
	}
	t=temp;
	return 1;
}

int main(){
	int p;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d%d%d",&x[i],&y[i],&s[i]);
	}
	double l=0,r=10000000,mid;
	while(r-l>=0.00000001){
		mid=l+(r-l)/2.0;
		if(check(mid)){
			r=mid;
		}else{
			l=mid;
		}
	}
	
	printf("%.2lf",t);
	return 0;
} 
2024/2/26 19:29
加载中...