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

            poj3273

            Monthly Expense

            Time Limit: 2000MS Memory Limit: 65536K
            Total Submissions: 8261 Accepted: 3399

            Description

            Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of money (1 ≤ moneyi ≤ 10,000) that he will need to spend each day over the next N (1 ≤ N ≤ 100,000) days.

            FJ wants to create a budget for a sequential set of exactly M (1 ≤ MN) fiscal periods called "fajomonths". Each of these fajomonths contains a set of 1 or more consecutive days. Every day is contained in exactly one fajomonth.

            FJ's goal is to arrange the fajomonths so as to minimize the expenses of the fajomonth with the highest spending and thus determine his monthly spending limit.

            Input

            Line 1: Two space-separated integers: N and M
            Lines 2..N+1: Line i+1 contains the number of dollars Farmer John spends on the ith day

            Output

            Line 1: The smallest possible monthly limit Farmer John can afford to live with.

            Sample Input

            7 5
            100
            400
            300
            100
            500
            101
            400

            Sample Output

            500

            Hint

            If Farmer John schedules the months so that the first two days are a month, the third and fourth are a month, and the last three are their own months, he spends at most $500 in any month. Any other method of scheduling gives a larger minimum monthly limit.


            題意很簡單,算法也很簡單,以前這種題目絕對做不出來,可能沒做過這種類型的吧
            現(xiàn)在看貌似很簡單,
            做法就是二分枚舉答案+貪心驗(yàn)證
            二分的下界取最大的數(shù)
            上界取所有數(shù)的和即可
            唔,昨晚上剛看到這題的時(shí)候,想著dp應(yīng)該是可以的
            不過測試數(shù)據(jù)是10w,又不行了,然后想著可以轉(zhuǎn)化成圖論的模型,不過點(diǎn)太多,還是不行
            然后搜索,dp都不行了,搜索也白搭,然后想二分,然后算了下只有10^9 ,頂多30多次 ,貌似可以
            …………

            #include<stdio.h>
            #include
            <string.h>
            #include
            <math.h>
            #define maxn 100005
            int n,m,a[maxn];
            int lower,upper;
            int max(int a,int b)
            {
                
            return a>b?a:b;
            }

            bool yanz(int x)
            {
                
            int num,i,tmp;
                num
            =0;
                i
            =1;
                
            while(i<=n)
                
            {
                    tmp
            =0;
                    
            while(tmp+a[i]<=x&&i<=n)
                    
            {
                        tmp
            =tmp+a[i];
                        i
            ++;
                    }

                    num
            ++;
                }

                
            if(num>m) return 0;
                
            return 1;
            }

            int main()
            {
                
            int i;
                
            while(scanf("%d%d",&n,&m)!=EOF)
                
            {
                    lower
            =-1;
                    upper
            =0;
                    
            for(i=1; i<=n; i++)
                    
            {
                        scanf(
            "%d",&a[i]);
                        lower
            =max(a[i],lower);
                        upper
            =upper+a[i];
                    }

                    
            //printf("%d %d\n",upper,lower);
                    int left,right;
                    left
            =lower;
                    right
            =upper;
                    
            while(left<right)
                    
            {
                        
            int mid=(left+right)/2;
                        
            if(yanz(mid)) right=mid; //printf("%d ok\n",right);}
                        else left=mid+1;
                    }

                    printf(
            "%d\n",left);
                }

                
            return 0;
            }


            wa了兩遍,發(fā)現(xiàn)最開始的時(shí)候tmp沒初始化

            posted on 2012-05-22 16:31 jh818012 閱讀(216) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當(dāng)于是 取余3的意思 因?yàn)?3 的 二進(jìn)制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
            • --王私江
            久久国产乱子精品免费女| 亚洲精品高清久久| 久久99精品国产麻豆蜜芽| 国内高清久久久久久| 97视频久久久| 日本加勒比久久精品| 久久WWW免费人成—看片| 人人狠狠综合久久亚洲88| 97精品国产91久久久久久| 人妻精品久久无码区| 久久香蕉超碰97国产精品| 亚洲精品乱码久久久久久久久久久久 | 一本色道久久88加勒比—综合| 国产成人久久AV免费| 久久线看观看精品香蕉国产| 777久久精品一区二区三区无码| 久久精品国产亚洲综合色| 久久免费精品视频| 国产精自产拍久久久久久蜜| 欧美性猛交xxxx免费看久久久| 国产香蕉久久精品综合网| 国产成人久久精品一区二区三区| 久久夜色精品国产噜噜噜亚洲AV| 99久久99久久| 久久免费香蕉视频| 久久久久波多野结衣高潮| 国内精品久久久人妻中文字幕| 国产精品一区二区久久不卡| 狠狠色丁香婷综合久久| 久久精品成人免费观看97| 久久久久se色偷偷亚洲精品av| 久久久久免费看成人影片| 2020最新久久久视精品爱| 欧美一区二区久久精品| 久久精品夜夜夜夜夜久久| 久久精品国产黑森林| 色诱久久久久综合网ywww| 国内精品久久久久久久久电影网| 久久久久高潮综合影院| 久久精品成人影院| 精品国产VA久久久久久久冰|