#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)