标签:tar possible chm tle 不同 problem 不同的 font blog
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10043 Accepted Submission(s): 3637
1 //由于每个人只能分一块,可以以最大的那块面积为上界,0位下界,二分寻找一个面积,用每一张馅饼除以这个面积就会得到能分几个人, 2 //就这样不断二分,等于时不结束,注意二分精度不能太大会超时。 3 #include<iostream> 4 #include<cstdio> 5 #include<cmath> 6 using namespace std; 7 const double PI=acos(-1.0); 8 int t,n,f; 9 double a[10004]; 10 int chak(double mid) 11 { 12 int sum=0; 13 for(int i=1;i<=n;i++) 14 sum+=(int)(a[i]/mid); 15 return sum; 16 } 17 int main() 18 { 19 scanf("%d",&t); 20 while(t--) 21 { 22 scanf("%d%d",&n,&f); 23 f++; 24 double tem=0; 25 for(int i=1;i<=n;i++) 26 { 27 scanf("%lf",&a[i]); 28 a[i]=a[i]*a[i]*PI; 29 if(a[i]>tem) tem=a[i]; 30 } 31 double lef=0,rig=tem,mid; 32 while(rig-lef>0.0000001) 33 { 34 mid=(lef+rig)/2; 35 int sum=chak(mid); 36 if(sum>=f) lef=mid; 37 if(sum<f) rig=mid; 38 } 39 printf("%.4lf\n",mid); 40 } 41 return 0; 42 }
标签:tar possible chm tle 不同 problem 不同的 font blog
原文地址:http://www.cnblogs.com/--ZHIYUAN/p/5988188.html