Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11776 Accepted: 4076 Special Judge
Description
My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to my party and each of them gets a piece of pie. This should be one piece of one pie, not several small pieces since that looks messy. This piece can be one whole pie though.Input
One line with a positive integer: the number of test cases. Then for each test case: One line with two integers N and F with 1 ≤ N, F ≤ 10 000: the number of pies and the number of friends.One line with N integers ri with 1 ≤ ri ≤ 10 000: the radii of the pies.Output
For each test case, output one line with the largest possible volume V such that me and my friends can all get a pie piece of size V. The answer should be given as a floating point number with an absolute error of at most 10?3.Sample Input
3 3 3 4 3 3 1 24 5 10 5 1 4 2 3 4 5 6 5 4 2
Sample Output
25.1327 3.1416 50.2655
題意好麻煩:有n個pi,f個朋友,還有一個自己,給出每個pi的大小,每個pi可以切成幾個蛋糕,而且所有pi切出的蛋糕都必須一樣大,每個人至少分一個蛋糕,求最大的蛋糕的體積。高均為1.
#include#include #include #include #include using namespace std; #define maxn 25100000 #define inf 0x3f3f3f3f #define pi acos(-1.0) #define eps 1e-6 int a[maxn]; int n,f; bool ok(double x){ int ans=0; for(int i=0;i eps){ //兩種方法均可,此題對精度要求比較低 mid=(ua+ub)/2; if(ok(mid))ub=mid; else ua=mid; }*/ for(int i=0;i<100;i++){ mid=(ua+ub)/2; if(ok(mid))ub=mid; else ua=mid; } printf("%.4f\n",mid); } }