48分求助
  • 板块P2440 木材加工
  • 楼主wsy_I
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/6 14:15
  • 上次更新2024/6/6 17:49:52
查看原帖
48分求助
1152799
wsy_I楼主2024/6/6 14:15

WA 2,3,4,5:

#include<bits/stdc++.h>
using namespace std;
int n,k,w[100010],L=1,R,mid;
bool judge(int x){
	int k2=0;
	for(int i=1;i<=n;i++){
		k2+=w[i]/x;
	}
	return k2>=k;
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++) {
		scanf("%d",&w[i]);
		if(w[i]<1){
			cout<<0;
			return 0;
		}
		R+=w[i];
	}
	if(R<k){
		cout<<0;
		return 0;
	}
	R/=k;
	while(L<R){
		mid=(L+R)/2;
		if(judge(mid)) L=mid+1;
		else R=mid-1;
	}
	cout<<R;
	return 0;
}
2024/6/6 14:15
加载中...