您的位置:首页 > 其它

百练 2774:木材加工

2015-08-10 11:21 417 查看
http://bailian.openjudge.cn/practice/2774/

#include <iostream>
using namespace std;
int len[10001]={0},n,k;
int input(){
cin>>n>>k;
int max=0;
for(int i=0;i<n;++i){
cin>>len[i];
if(len[i]>max)
max=len[i];
}
return max;
}
int solve(int max){
int l = 1;
int r = max;
while(l<=r){
int mid = (l+r)/2;
int sum = 0;
for(int i=0;i<n;++i){
sum+=len[i]/mid;
}
if(sum<k) r = mid-1;
else if(sum>=k) l = mid+1;
}
return r;
}
int main(){
int p=input();
cout<<solve(p)<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: