萌新刚学OI,求助
查看原帖
萌新刚学OI,求助
55740
丧黑福造楼主2021/9/27 23:53
#include<stdio.h>
const int N = 2e5 + 5;
int x[N], y[N], s[N];
int n;
long double ans;
inline int in(){
	register int x = 0, f = 1;
	register char c = getchar();
	for(; c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;
	for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c & 15);
	return x * f;
}
inline bool check(long double v){
	long double tim = 0;
	for(register int i = 1; i <= n; i ++){
		tim += s[i] / v;
		if(tim > y[i]) return 0;
		if(tim < x[i]) tim = x[i];
	}
	return 1;
}
main(){
	n = in();
	for(register int i = 1; i <= n; ++ i) x[i] = in(), y[i] = in(), s[i] = in();
	register long double l = 0, r = 1e9;
	while(r - l >= 1e-5){
		register long double mid = (l + r) / 2;
		if(check(mid)) r = ans = mid;
		else l = mid;
	}
	printf("%.2Lf\n", ans);
	return 0;
}

为什么上述正确代码在dev中运行时需要加上

#include<iomanip>
using namespace std;

语句才可以通过样例(不加上的话样例输出0.00)

2021/9/27 23:53
加载中...