48分求助
查看原帖
48分求助
1047625
Lolitan楼主2024/7/11 20:36

2、3、7、8 WA 调不动了

#include<bits/stdc++.h>
using namespace std;
int n,k,L[200000],t,mid,l,r,s;
int h(int mid){
	int g=0;
	if(mid==0){
		return k;
	}
	for(int i=1;i<=n;i++){
		g+=L[i]/mid;
	}
	return g;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>L[i];
		t+=L[i];
	}
	s=t/k;
	l=0;
	r=s;
	if(r<l){
		cout<<-1;
		return 0;
	}
	while(l<=r){
		mid=(l+r)/2;
		if(l==r){
			cout<<mid;
			return 0;
		}
		if(h(mid)>=k){
			l=mid+1;//yuejie
		}
		if(h(mid)<k){
			r=mid-1;
		}
	}
	return 0;
}
2024/7/11 20:36
加载中...