/*
* hdu1969.c
*
* Created on: 2011-10-9
* Author: bjfuwangzhu
*/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define nmax 10010
#define pi acos(-1.0)
#define eps 1.0e-5
double volume[nmax];
int cmp(int n, double aver) {
int i, temp;
for (i = 0, temp = 0; i < n; i++) {
temp += (int) (volume[i] / aver);
}
return temp;
}
void solve(int n, int f, double sum) {
double left, right, mid;
left = 0.0, right = sum / f;
while (fabs(left - right) > eps) {
mid = (left + right) / 2;
if (cmp(n, mid) >= f) {
left = mid;
} else {
right = mid;
}
}
printf("%.4lf\n", mid);
}
int main() {
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif
int t, n, f, i, r;
double sum;
scanf("%d", &t);
while (t--) {
scanf("%d %d", &n, &f);
for (i = 0, sum = 0.0; i < n; i++) {
scanf("%d", &r);
volume[i] = pi * r * r;
sum += volume[i];
}
solve(n, f + 1, sum);
}
return 0;
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2021-07-15
  • 2021-06-29
猜你喜欢
  • 2021-11-19
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-01-24
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案