ToB企服应用市场:ToB评测及商务社交产业平台
标题:
c++运输木料
[打印本页]
作者:
怀念夏天
时间:
2024-12-20 11:56
标题:
c++运输木料
描述
木料厂堆着 n 根大木头,老板派一辆卡车将木头运走,卡车至少要装载 m 根才能发车。
如今利用机器将 n 根大木头切割发展度相等的小木头,当然渴望小木头越长越好,如许才能少浪费木料。
请利用所学的知识,帮忙计算小木头的最大长度,交给切割师傅。
输入描述
第一行两个正整数 n 和 m,分别代表大木头的数量,卡车的装载量 m 根。
接下来 n 行,每行一个正整数 ai,表示每根大木头的长度。
输出描述
一个正整数,表示小木头的最大长度。假如切不出来,输出 0。
样例输入 1
4 7
18
6
11
7
复制代码
样例输出 1
5
复制代码
提示
数据范围与提示
对于 100% 的数据,有 1≤n≤105,1≤m≤108,1≤ai≤108。
代码:
#include <bits/stdc++.h>
using namespace std;
int n,k,a[100001],r,l,ans,mid;
double x;
bool c(int mid){
long long s=0;
for(int i=1;i<=n;i++){
s+=a[i]/mid;
}
return s>=k;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
r=max(r,a[i]);
}
while(l<=r){
mid=(l+r)/2;
if(c(mid)){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans;
return 0;
}
复制代码
以上内容均为原创;欢迎参考、借鉴!
但拒绝盗版;也禁止任何人在未经本人同意的条件下用于商业用途。
作者保留法律追究责任。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4