HOJ 2651 PIE


此页面通过工具从 csdn 导出,格式可能有问题。

题目: http://acm.hit.edu.cn/hoj/problem/view?id=2651

很简单的二分枚举,

要注意的是 1、一共是 f+1 个人(包括他自己)

2、精度问题。。被吭了好久,我把面积*e5 按道理应该可以了不知道为什么总是WA,改成e6后AC了。


# include <iostream>
# include <cstdio>
# include <cmath>
# define PI acos(-1)
using namespace std;
long long c[11111],s,l,r,mid,ans;
int N,n,f;
int judge(){
	int num = 0;
	for (int i(1);i<=n;i++){
		num += c[i]/mid;
	}
	return num>f;
}
int main(){
	cin >> N;
	while (N--){
		cin >> n >> f;
		long long s=0,ans=0;
		for (int i(1);i<=n;i++) {
			cin >> c[i];
			c[i] = c[i]*c[i]*PI*1000000;
			s += c[i];
		}
		for (l=0,r=s;l<=r;){
			mid = (l+r)/2;
			if (judge()){
				l=mid+1;
				ans=mid;
			}else{
				r=mid-1;
			}
		}
		printf("%.4lf\n",(double)ans/1000000);
	}
	return 0;
}


Avatar
huiren
Code Artisan

问渠那得清如许,为有源头活水来

相关

下一页
上一页
comments powered by Disqus