NOIOPENJUDGE二分题目求调玄关!!!
  • 板块学术版
  • 楼主Crab_Tang
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/7 15:00
  • 上次更新2024/7/7 16:00:54
查看原帖
NOIOPENJUDGE二分题目求调玄关!!!
1021365
Crab_Tang楼主2024/7/7 15:00

http://noi.openjudge.cn/ch0111/04/

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int n,m;
int nums[N];
int f(int x){
	int ret=0;
	for(int i=1;i<=n;++i)
		ret+=nums[i]/x;
	return ret;
}
int main(){
	double x,sum=0;
	int l=0,r=0,mid;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i){
		scanf("%lf",&x);
		nums[i]=x*100+0.001;
		if(nums[i]>r)
			r=nums[i];
		sum+=x;
	}
	if(sum<m){
		puts("0.00");
		return 0;
	}
	while(l<r){
		//printf("%d %d\n",l,r);
		mid=(l+r+1)/2;
		if(f(mid)<m)
			r=mid-1;
		else
			l=mid;
	}
	
	printf("%.2lf",l/100.0);
	return 0;
}
2024/7/7 15:00
加载中...