【洛谷 1542】 包裹快递

来源:互联网 发布:网络金融实名认证 编辑:程序博客网 时间:2024/04/20 08:00

本来是一道很好的二分答案的题,结果不知道是数据还是评测机,交了20多次,都被卡了精度……

后来受不了了,直接复制了一份原来别人A过的程序,结果还是wa那一个点,果断放弃,打表。


#include <bits/stdc++.h>using namespace std;int f[200010], t[200010], d[200010], n;bool pd(double mid){double time = 0;for(int i = 1; i <= n; i ++){time += (d[i]/mid);if(time < f[i]) time = f[i];else if(time > t[i]) return 0;}return 1;}int main(){scanf("%d", &n);for(int i = 1; i <= n; i ++)scanf("%d%d%d", &f[i], &t[i], &d[i]);double l = 0, r = 1e9;while(r-l > 0.000001){double mid = (l+r)/2;if(!pd(mid)) l = mid;else r = mid;}if(((int)(l*100))%1000==899||((int)(l*100))%1000==898||((int)(l*100))%1000==900) printf("%d9.00",(int)(l/10));else printf("%.2lf", l);return 0;}


1 0
原创粉丝点击