0
已解决
蒋文瀚
新手光能
新手光能
#include<iostream>
using namespace std;
int n,m;
int a[100005];
bool check(int k){
int cnt=0;
for(int i=1;i<=n;i++){
cnt+=a[i]/k;//算出一共可以截多少段木头
if(cnt>=m){//如果
return true;
}
}
return false;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int l=0,r=0x3f3f3f3f;
while(l<r){
int mid=(l+r)/2;
if(!check(mid)){
l=mid+1;
}else{
r=mid;
}
}
cout<<l;
return 0;
}
WA 0
蒋文瀚在2020-12-16 20:41:14追加了内容
顶