/*
* Author: illuz <iilluzen[at]gmail.com>
* Blog: http://blog.csdn.net/hcbbt
* File: live3652.cpp
* Create Date: 2013-09-10 00:40:36
* Descripton: binary, greedy
*/
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <algorithm>
using
namespace
std;
const
int
MAXN = 10010;
double
PI =
acos
(-1.0);
n, f, t;
a[MAXN], Max;
bool
judge(
x) {
sum = 0;
for
(
i = 0; i < n; i++)
sum += a[i] / x;
if
(sum >= f + 1)
return
true
;
false
}
main() {
scanf
"%d"
, &t);
while
(t--) {
"%d%d"
, &n, &f);
i = 0; i < n; i++) {
"%lf"
, &a[i]);
a[i] = PI * a[i] * a[i];
Max = max(Max, a[i]);
low = 0, mid;
(Max - low > 1e-5) {
mid = low + (Max - low) / 2;
(judge(mid)) low = mid;
else
Max = mid;
printf
"%.4lf\n"
, low);
0;
·2024年9月目录 ·2024年8月目录 ·2024年7月目录 ·2024年6月目录 ·2024年5月目录 ·2024年4月目录 ·2024年3月目录 ·2024年2月目录 ·2024年1月目录 ·2023年12月目录 ·2023年11月目录 ·2023年10月目录 ·2023年9月目录 ·2023年8月目录