本文主要是介绍COJ 1031木材加工(二分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这题类似上周的周赛的第一题: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;
}
这篇关于COJ 1031木材加工(二分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!