您的位置:首页 > 其它

COJ 1031木材加工(二分)

2013-10-19 18:32 423 查看
这题类似上周的周赛的第一题:HDU 1969,周赛A题也是用的二分,而且解法和这题极其相似,要是这题做过的话,周赛那题也许就有思路会做了……做题不是太少了!加油吧!!!
#include <iostream>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
int a[1003];
int main()
{
    int n,k,i,max1=0,bot=1,mid,top,sum;
    cin>>n>>k;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
        max1=max(max1,a[i]);
    }
    top=max1;
    while(bot<=top)
    {
        sum=0;
        mid=(bot+top)/2;
        for(i=0;i<n;i++)
            sum+=a[i]/mid;
        if(sum<k) top=mid-1;
        else bot=mid+1;
    }
    cout<<top<<endl;
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: