#include<bits/stdc++.h>
using namespace std;
#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)
#define MOD 1000000007
#define MX 100010
double radi[10005];
int N, F;
int calcF(double val)
{
int cnt=0;
for(int i=0;i<N;i++)
cnt+=(int) (radi[i]*radi[i]*PI/val);
return cnt;
}
double BS()
{
double hi=1000000000.0, lo=0.0, md;
for(int i=0;i<100;i++)
{
md=(hi+lo)/2.0;
if(calcF(md)<F) hi=md;
else lo=md;
}
return md;
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
int tc, kk=1, n, m, x, y, a, b, c;
string s;
cin>>tc;
while(tc--)
{
cin>>N>>F;
F++;
for(int i=0;i<N;i++) cin>>radi[i];
cout<<setprecision(4)<<fixed<< BS() <<"\n";
}
return 0;
}
No comments:
Post a Comment