注意 esp取到1e-6 ;pi 取到acos(-1);
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
const double pi=acos(-1.0);
const double esp=1e-6;
//注意每人得到的那份pie必须是从同一个pie上得到的
int n,f;
double a[10005];
bool ok(double x)//每人分得的蛋糕体积为x
{
int sum=0;
for(int i=1;i<=n;i++)
{
sum+=(int)(a[i]*a[i]/x);
}
if(sum>=f) return true;
else return false;
}
int main()
{
int T;
cin>>T;
while(T--)
{
int i;
cin>>n>>f;
double maxn=-1.0;
f++;
for(i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>maxn) maxn=a[i];
}
double low=0.0;
double high=maxn*maxn;
double mid;
while(high-low>esp)
{
mid=(low+high)/2;
if(ok(mid)) low=mid;
else high=mid;
}
cout<<fixed<<setprecision(4)<<pi*low<<endl;
}
}