#include<iostream>
#include<cstdio>
#include<memory.h>
#include<algorithm>
#include<iomanip>
using namespace std;
double tu[
10001];
int main()
{
int T;
cin>>T;
while(T--)
{
memset(tu,
0,
sizeof(tu));
int n,k;
cin>>n>>k;
k++;
double xiao=
0,da=
0;
for(
int a=
1;a<=n;a++)
{
cin>>tu[a];
tu[a]*=tu[a];
da=max(da,tu[a]);
}
double mid;
while(da-xiao>
1e-6)
{
mid=(da+xiao)/
2;
int quan=
0;
for(
int a=
1;a<=n;a++)quan+=
int(tu[a]/mid);
if(quan<k)da=mid;
else xiao=mid;
}
cout<<fixed<<setprecision(
4)<<mid*
3.1415926535898<<endl;
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1203817.html