CodeForces 215B Olympic Medal(数学啊)

题目链接:http://codeforces.com/problemset/problem/215/B

Description

The World Programming Olympics Medal is a metal disk, consisting of two parts: the first part is a ring with outer radius of r1 cm, inner radius of r2 cm, (0?<?r2?<?r1) made
of metal with density p1 g/cm3. The second part is an inner disk with radius r2 cm,
it is made of metal with density p2 g/cm3. The disk is nested inside the
ring.

The Olympic jury decided that r1 will take one of possible values of x1,?x2,?...,?xn.
It is up to jury to decide which particular value r1 will take. Similarly, the Olympic jury decided that p1 will
take one of possible value of y1,?y2,?...,?ym, and p2 will
take a value from listz1,?z2,?...,?zk.

According to most ancient traditions the ratio between the outer ring mass mout and the inner disk mass min must
equal , where A,?B are constants taken from ancient books.
Now, to start making medals, the jury needs to take values for r1p1p2 and
calculate the suitable value of r2.

The jury wants to choose the value that would maximize radius r2. Help the jury find the sought value of r2.
Value r2 doesn‘t have to be an integer.

Medal has a uniform thickness throughout the area, the thickness of the inner disk is the same as the thickness of the outer ring.

Input

The first input line contains an integer n and a sequence of integers x1,?x2,?...,?xn.
The second input line contains an integer m and a sequence of integers y1,?y2,?...,?ym.
The third input line contains an integer k and a sequence of integers z1,?z2,?...,?zk.
The last line contains two integers A and B.

All numbers given in the input are positive and do not exceed 5000. Each of the three sequences contains distinct numbers. The numbers in the lines are separated by spaces.

Output

Print a single real number — the sought value r2 with absolute or relative error of at most 10?-?6.
It is guaranteed that the solution that meets the problem requirements exists.

Sample Input

Input

3 1 2 3
1 2
3 3 2 1
1 2

Output

2.683281573000

Input

4 2 3 6 4
2 1 2
3 10 6 8
2 1

Output

2.267786838055

Hint

In the first sample the jury should choose the following values: r1?=?3, p1?=?2, p2?=?1.

题意:

一种奖牌由内圆和外环组成,外环的半径为r1, 密度为p1。内圆的半径为r2,密度为p2;给出一种外环和内圆的质量比(A/B)!

给出一系列的r1,p1,p2!分别从中选出r1,p1,p2;要求最大的r2是多少!

PS:

内圆和外环的高度都是一样的,公式!化简后得:

((r1^2 - r2^2)*p1)/ (r1^2*p2)  = A/B。

直接找最大的r1,p1,和最小的p2;

代码例如以下:

#include <cstdio>
#include <cmath>
int main()
{
    int n, m, k;
    double r1, r2, p1, p2;
    while(~scanf("%d",&n))
    {
        double tt;
        r1 = 0;
        for(int i = 0; i < n; i++)
        {
            scanf("%lf",&tt);
            if(tt > r1)
                r1 = tt;
        }
        scanf("%d",&m);
        p1 = 0;
        for(int i = 0; i < m; i++)
        {
            scanf("%lf",&tt);
            if(tt > p1)
                p1 = tt;
        }
        scanf("%d",&k);
        p2 = 5000+47;
        for(int i = 0; i < k; i++)
        {
            scanf("%lf",&tt);
            if(tt < p2)
                p2 = tt;
        }
        int A, B;
        scanf("%d%d",&A,&B);
        double ans = sqrt((r1*r1*p1*B)/(p1*B+p2*A));
        printf("%lf\n",ans);
    }
    return 0;
}
时间: 2024-08-05 07:07:51

CodeForces 215B Olympic Medal(数学啊)的相关文章

CodeForces 534C Polycarpus&#39; Dice (数学)

题意:第一行给两个数,n 和 A,n 表示有n 个骰子,A表示 n 个骰子掷出的数的和.第二行给出n个数,表示第n个骰子所能掷出的最大的数,这些骰子都有问题, 可能或多或少的掷不出几个数,输出n个骰子掷不出的数的个数. 析:我们只要考虑两个极端就好,考由其他骰子投出的最大值和最小值,还有自身在最大值和最小值,作一个数学运算就OK了.公式如下: 骰子的最大值-能投的最大值+能投的最小值-1. 代码如下: #include <cstdio> #include <string> #inc

Codeforces 468C Hack it!(数学)

题目链接:Codeforces 468C Hack it! 题目大意:给据题目定义,找到l,r,使得solve(l,r) % a = 0. 解题思路:f(x + 1e18) = f(x) + 1,所以有solve(x + 1, x+1e18) = solve(x, x+1e18-1) + 1,假定x为0,我们求出solve(0, 1e18) % a = k,那么a - k,即为区间需要移动的步长.solve(1e18) % a = 4518 1e17 % a #include <cstdio>

Codeforces 520E. Pluses everywhere 数学

520E - Pluses everywhere/521C - Pluses everywhere Idea: Endagorion Preparation: gchebanov, DPR-pavlin Consider some way of placing all the pluses, and a single digit di (digits in the string are numbered starting from 0 from left to right). This digi

Codeforces 688D Remainders Game 数学

题意:Pari选了两个数x,k,已知k和n个数c[i],也能"知道"x%c[i],问是否x%k的值是否唯一?n,k,c[i]<=1e6 假如存在x1,x2满足:x1和x2同余c[i](i=1..n),但是x1%k!=x2%k 则此时不能确定x%k的值,答案为no即(x1-x2)%c[i]==0 因为lcm(c[1]..c[n])|(x1-x2) k不整除(x1-x2) k也不整除lcm(c[1]..c[n]) 该条件为必要条件.证明充分性很简单 构造x1=2*lcm,x2=lcm

Codeforces 17A Noldbach problem(数学)

题意 求n以内等于两个连续素数的和加上1的数的个数 n不大于1000 #include<cstdio> #include<cmath> #include<algorithm> using namespace std; const int N = 1000; int n, k, ans; bool isPrime (int a) { for (int i = 2; i <= sqrt (a); ++i) if (a % i == 0) return 0; retur

codeforces 688D - Remainders Game 数学相关

题意:给你x%ci=bi(x未知),是否能确定x%k的值(k已知) 分析:只要保证k能整除ci的最小公倍数即可,由于太大,所以通过暴力分解因子的办法来判断 #include <cstdio> #include <iostream> #include <ctime> #include <vector> #include <cmath> #include <map> #include <set> #include <st

Codeforces 911D. Inversion Counting (数学、思维)

题目链接:Inversion Counting 题意: 定义数列{ai|i=1,2,...,n}的逆序对如下:对于所有的1≤j<i≤n,若ai<aj,则<i,j>为一个逆序对.于是,对于一个数列a[1..n],给定m次操作.对于每一次操作,给定l,r(1≤l<r≤n),将序列a[l..r]倒置.求倒置后的逆序对的数量的奇偶性. 题解: 假设现在我们有一个序列并翻转这个序列[l,r]区间里面的数.假设某个数的k值是指在这个值后面小于这个数的数的个数,其实我们可以发现对于[1,l

Codeforces 932E Team Work 数学

Team Work 发现网上没有我这种写法.. i ^ k我们可以理解为对于每个子集我们k个for套在一起数有多少个. 那么我们问题就变成了 任意可重复位置的k个物品属于多少个子集. 然后我们枚举k个物品所占位置的个数 i , 然后需要计算有多少种方案能把k个不同物品放入i个桶中. 这个东西可以用dp[ i ][ j ] 表示 i 个物品放入 j 个桶中的方案数. dp[ i ][ j ] = dp[ i - 1 ][ j ] * j + dp[ i - 1 ][ j - 1 ] * j 然后就

python excel 文件合并

Combining Data From Multiple Excel Files Introduction A common task for python and pandas is to automate the process of aggregating data from multiple files and spreadsheets. This article will walk through the basic flow required to parse multiple Ex