【CodeForces - 215B 】Olympic Medal (数学,公式推导)
題干:
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?r2cm, 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?p2will take a value from list?z1,?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?r1,?p1,?p2?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.
Examples
Input
3 1 2 3 1 2 3 3 2 1 1 2Output
2.683281573000Input
4 2 3 6 4 2 1 2 3 10 6 8 2 1Output
2.267786838055Note
In the first sample the jury should choose the following values:?r1?=?3,?p1?=?2,?p2?=?1.
?
解題報告:
? ?題目讀懂后直接公式化簡一下,,發現三個數都取最值就可以了。。幾天前的題了公式是啥忘記了、、沒啥意思的題
AC代碼:
#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX = 2e5 + 5; ll r1,p1,p2=9999999999,tmp,a,b; int main() {int n,m,k;cin>>n;for(int i = 1; i<=n; i++) scanf("%lld",&tmp),r1=max(tmp,r1);cin>>n;for(int i = 1; i<=n; i++) scanf("%lld",&tmp),p1=max(tmp,p1);cin>>n;for(int i = 1; i<=n; i++) scanf("%lld",&tmp),p2=min(tmp,p2);cin>>a>>b;double ans = (double)b*p1*r1*r1/(a*p2+b*p1);printf("%.12f\n",sqrt(ans));return 0 ;}?
總結
以上是生活随笔為你收集整理的【CodeForces - 215B 】Olympic Medal (数学,公式推导)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行信用卡审核要多久 多种渠道办卡时间略
- 下一篇: 信用卡额度提升最快方法 快速提额八大法全