P1577 切绳子
  • 板块P1577 切绳子
  • 楼主uberking
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/3/21 22:16
  • 上次更新2023/10/23 20:53:55
查看原帖
P1577 切绳子
781515
uberking楼主2023/3/21 22:16

求助

一直卡在第八个测试点

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int N=1e5+10;
double f[N];
int n,m;
bool check(double &mid){
	int sum=0;
	for(int i=1;i<=n;i++)
		sum+=floor(f[i]/mid);
	return sum>=m;
}
int main(){
	double l=0,r=0;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%lf",&f[i]);
		r=max(r,f[i]);
	}
	while(r-l>1e-5){
		double mid=(l+r)/2;
		if(check(mid))	l=mid;
		else r=mid;
	}
	printf("%.2lf\n",floor(l*100)/100.00);
}
2023/3/21 22:16
加载中...