77分求调
  • 板块P2440 木材加工
  • 楼主detor
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/1 17:22
  • 上次更新2023/11/2 16:44:57
查看原帖
77分求调
382048
detor楼主2023/10/1 17:22
#include<bits/stdc++.h>
#define N 10100
using namespace std;
int n,k;
double a[N];
bool check(double p) {
	int sum=0;
	for(int i=1; i<=n; i++) {
		sum+=(int)(a[i]/p);
	}
	if(sum>=k)return 1;
	return 0;
}
int main() {
	cin>>n>>k;
	for(int i=1; i<=n; i++) {
		cin>>a[i];
	}
	double l=0,r=1e5,mid;
	while(l+0.0005<r) {
		mid=(l+r)/2;
		if(check(mid))l=mid;
		else r=mid;
	}
	cout<<fixed<<setprecision(2)<<l<<endl;


	return 0;
}

题目说误差不超过0.01能过最后两个点超了0.01过不了:(

2023/10/1 17:22
加载中...