poj3122 二分

    xiaoxiao2023-03-25  6

    #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
    最新回复(0)