• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-21  評論-10  文章-21  trackbacks-0
            二分,單獨(dú)判溢出的情況

             1 #include<iostream>
             2 #include<cstdio>
             3 #include<cmath>
             4 using namespace std;
             5 
             6 #define maxn 60000
             7 struct node{
             8     int b, h, w, d;
             9     void in(){
            10         scanf("%d %d %d %d",&b, &h, &w, &d);
            11     }
            12 }cistern[maxn];
            13 
            14 void checkmin(double & x, double y){if(x > y)x = y;}
            15 
            16 void checkmax(double & x, double y){if(x < y)x = y;}
            17 
            18 int n, volumn;
            19 
            20 double calc(double x){
            21     double ans = 0;
            22     for(int i = 0; i < n; i++){
            23         if(cistern[i].b > x)continue;
            24         ans += min( x - cistern[i].b , cistern[i].h*1.0 ) * cistern[i].d * cistern[i].w;
            25     }
            26     return ans;
            27 }
            28 
            29 double b_search(double l ,double r){
            30     while(r - l > 1e-8){
            31         double mid = (l + r)/2;
            32         if(calc(mid) >= volumn )r = mid; else l = mid;
            33     }
            34     return ( r + l ) / 2;
            35 }
            36 
            37 int main(){
            38     //freopen("in","r",stdin);
            39     int testcase;
            40     scanf("%d",&testcase);
            41     while(testcase--){
            42         scanf("%d",&n);
            43         double l, r;
            44         r = 0,  l = 1e100;
            45         for(int i = 0; i < n; i++)
            46         {
            47             cistern[i].in();
            48             checkmax( r, cistern[i].b + cistern[i].h );
            49             checkmin( l, cistern[i].b );
            50         }
            51         scanf("%d",&volumn);
            52         if(calc(r) < volumn){
            53             printf("OVERFLOW\n");
            54             continue;
            55         }
            56         printf("%.2lf\n", b_search(l , r) );
            57     }
            58 }


            posted on 2009-11-02 22:26 wangzhihao 閱讀(179) 評論(0)  編輯 收藏 引用 所屬分類: geometry
            久久AV高潮AV无码AV| 93精91精品国产综合久久香蕉| 亚洲精品乱码久久久久久不卡| 久久婷婷五月综合成人D啪| 婷婷伊人久久大香线蕉AV | 精品国产一区二区三区久久久狼 | 热RE99久久精品国产66热| 无码日韩人妻精品久久蜜桃 | 韩国免费A级毛片久久| 久久久精品视频免费观看| 国产成人久久精品一区二区三区| 国内精品久久久久| 久久精品国产乱子伦| 久久93精品国产91久久综合| 一本色综合网久久| 欧美日韩精品久久久免费观看| 国产精品久久网| 国内精品久久人妻互换| 99久久做夜夜爱天天做精品| 久久高潮一级毛片免费| 亚洲国产精品久久66| 欧美综合天天夜夜久久| 人妻丰满AV无码久久不卡| 亚洲国产成人久久一区久久| 久久99亚洲综合精品首页| 色成年激情久久综合| 精品久久777| 亚洲国产精品久久久久| 久久香蕉国产线看观看99| 韩国三级大全久久网站| 国产精品久久永久免费| 久久国产精品久久| 久久w5ww成w人免费| 国产美女亚洲精品久久久综合| 久久91精品国产91| 久久国产精品无| 亚洲综合伊人久久大杳蕉| 久久综合亚洲鲁鲁五月天| 色偷偷久久一区二区三区| 久久精品国产99久久久| 狠狠干狠狠久久|