• <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>

            我希望你是我獨(dú)家記憶

            一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
            posts - 263, comments - 31, trackbacks - 0, articles - 3
               :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理

            PKU——3273——二分答案

            Posted on 2008-09-01 00:15 Hero 閱讀(418) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 代碼如詩(shī)--ACM
             1 //PKU 3273 Accepted 608K 94MS C++ 1044B Monthly Expense
             2 
             3 //二分答案
             4 
             5 #include <stdio.h>
             6 #include <stdlib.h>
             7 #include <string.h>
             8 #include <math.h>
             9 
            10 const int INF = 99999999 ;
            11 const int size = 100100 ;
            12 
            13 int data[size] ;
            14 int insum ;
            15 int inmax ;
            16 int inn, inm ;
            17 
            18 void input()
            19 {
            20     insum = 0 ; inmax = -1 ;
            21     forint i=1; i<=inn; i++ ) 
            22     {
            23         scanf( "%d"&data[i] ) ; insum += data[i] ;
            24         inmax = inmax > data[i] ? inmax : data[i] ;
            25     }
            26 }
            27 
            28 int test( int mid )
            29 {
            30     int cnt = 1 ; int tsum = 0 ;
            31     forint i=1; i<=inn; i++ )
            32     {
            33         if( tsum + data[i] > mid )
            34         {
            35             cnt++ ; tsum = data[i] ;
            36         }
            37         else 
            38         {
            39             tsum += data[i] ;
            40         }
            41     }
            42 
            43     return cnt ;
            44 }
            45 
            46 void process()
            47 {
            48     int left = inmax ; int right = insum ; int mid ;
            49 
            50     while( left < right )
            51     {
            52         mid = ( (left+right)/2 ) ;
            53 
            54         int cnt = test( mid ) ;
            55         if( cnt > inm ) left = mid + 1 ;
            56         else            right = mid ;
            57     }
            58 
            59     printf( "%d\n", right ) ;
            60 }
            61 
            62 int main()
            63 {
            64     //freopen( "in.txt", "r", stdin ) ;
            65 
            66     while( scanf( "%d %d"&inn, &inm ) != EOF )
            67     {
            68         input() ;
            69 
            70         process() ;
            71 
            72         //output() ;
            73     }
            74 
            75     return 0 ;
            76 }
            51久久夜色精品国产| 久久婷婷五月综合97色一本一本 | 国产亚洲色婷婷久久99精品91| 国产精品美女久久久| 热久久这里只有精品| 久久经典免费视频| 国产精品久久久久…| 欧美一区二区久久精品| 国产精品禁18久久久夂久| 日韩美女18网站久久精品| 久久精品无码专区免费青青| 亚洲午夜无码AV毛片久久| 国产精品久久成人影院| 日本强好片久久久久久AAA | 久久中文字幕无码专区| 国产精品禁18久久久夂久| 久久婷婷五月综合97色直播| 大蕉久久伊人中文字幕| 亚洲AV无码久久精品成人| 日韩精品无码久久一区二区三| 久久综合九色综合精品| 久久这里只有精品18| 久久亚洲AV无码精品色午夜麻豆| 亚洲一本综合久久| 久久精品国产99国产精品澳门| 久久久久亚洲AV片无码下载蜜桃 | 伊人色综合九久久天天蜜桃| 91精品国产91久久久久久蜜臀 | 浪潮AV色综合久久天堂| 久久人人青草97香蕉| 久久婷婷五月综合97色直播| 久久99亚洲综合精品首页| 国产精品VIDEOSSEX久久发布| 精品国产福利久久久| 久久免费高清视频| 日本道色综合久久影院| 久久99精品久久久久久野外| 狠狠色伊人久久精品综合网| 久久精品国产亚洲av瑜伽| 午夜视频久久久久一区 | 久久久久亚洲AV无码麻豆|