sicily 1441 pie

来源:互联网 发布:厦门seo陈仁潘 编辑:程序博客网 时间:2024/06/04 23:31

二分

// Submission#: 2721381// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const double pi = acos(-1.0);const int maxn = 10005;double a[maxn];int n,f;bool ok(double area){    int sum=0;    for(int i=0;i<n;i++)    {        sum += floor(a[i] / area);    }    return sum>=f+1;}int main(){    int t;    scanf("%d\n",&t);    while(t--)    {        scanf("%d%d",&n,&f);        double m=-1;        for(int i=0;i<n;i++)        {            int rad;            scanf("%d",&rad);            a[i]=pi*rad*rad;            m=max(m,a[i]);        }        double l,r;        l=0;        r=m;        while(r-l>1e-6)        {            double mid=(l+r)/2;            if(ok(mid))            {                l=mid;            }            else            {                r=mid;            }        }        printf("%.4lf\n",l);    }    return 0;}                                 


0 0