求助double精度
  • 板块灌水区
  • 楼主int233
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/2/6 12:15
  • 上次更新2023/10/28 09:36:24
查看原帖
求助double精度
333855
int233楼主2022/2/6 12:15

题目

RT,样例过不去,想问一下是double精度问题吗?

Code:

#include<iostream>
#include<iomanip>
using namespace std;
typedef double de;
de INF=1e9;
de sx[10005],tx[10005],vx[10005],eu;
int n;
de a[10005];
de dfs(int k,de dist,de regi){
	de l,r,mid,ans=INF;
	l=max(de(0),(de)vx[k]);r=(de)(100005);
	int cnt=60;
	if(k==n+1){
		return regi;
	}
	while(cnt--){
		mid=(de)(l+r)/2.0;
		if(tx[k]*sx[k]*(mid-vx[k])*(mid-vx[k])<=dist){
			ans=min(ans,dfs(k+1,dist-tx[k]*sx[k]*(mid-vx[k])*(mid-vx[k]),regi+(de)sx[k]/mid));
			l=mid;
		}
		else{
			r=mid;
		}
	}
	return ans;
}
int main(){
	cin>>n;
	de ques;
	cin>>eu;
	for(int i=1;i<=n;i++){
		cin>>sx[i]>>tx[i]>>vx[i];
	}
	cout<<fixed<<setprecision(8)<<dfs(1,eu,(de)0);
	return 0;
} 
2022/2/6 12:15
加载中...