76求调
查看原帖
76求调
1052827
xiaobei10楼主2024/11/26 12:27

ban在#4和#6

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,k,l[N],sum,mid,lll=1,r=-1,kk,ll[N],ans=-1;

bool check(){
	
	int ssum=0;
	for(int i=1;i<=n;i++){
		ll[i]=l[i]/mid;
		ssum+=ll[i];
	}
	if(ssum>=k){
		ans=max(ans,mid);
		return false;
	} 
	else{
		return true;
	}
}

int main() {
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>l[i];
		sum+=l[i];
		r=max(r,l[i]);
	}
	r=r+1;
	while(lll+1<r){
		mid=(lll+r)/2;
		if(check()){
			r=mid;
		}else{
			lll=mid;
		}
	}
	
	cout<<ans;
    return 0;
}

记录详情

2024/11/26 12:27
加载中...