CF1010A.Fly
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Natasha is going to fly on a rocket to Mars and return to Earth. Also, on the way to Mars, she will land on n−2 intermediate planets. Formally: we number all the planets from 1 to n. 1 is Earth, n is Mars. Natasha will make exactly n flights: 1→2→…n→1.
Flight from x to y consists of two phases: take-off from planet x and landing to planet y. This way, the overall itinerary of the trip will be: the 1-st planet → take-off from the 1-st planet → landing to the 2-nd planet → 2-nd planet → take-off from the 2-nd planet → … → landing to the n-th planet → the n-th planet → take-off from the n-th planet → landing to the 1-st planet → the 1-st planet.
The mass of the rocket together with all the useful cargo (but without fuel) is m tons. However, Natasha does not know how much fuel to load into the rocket. Unfortunately, fuel can only be loaded on Earth, so if the rocket runs out of fuel on some other planet, Natasha will not be able to return home. Fuel is needed to take-off from each planet and to land to each planet. It is known that 1 ton of fuel can lift off ai tons of rocket from the i-th planet or to land bi tons of rocket onto the i-th planet.
For example, if the weight of rocket is 9 tons, weight of fuel is 3 tons and take-off coefficient is 8 (ai=8), then 1.5 tons of fuel will be burnt (since 1.5⋅8=9+3). The new weight of fuel after take-off will be 1.5 tons.
Please note, that it is allowed to burn non-integral amount of fuel during take-off or landing, and the amount of initial fuel can be non-integral as well.
Help Natasha to calculate the minimum mass of fuel to load into the rocket. Note, that the rocket must spend fuel to carry both useful cargo and the fuel itself. However, it doesn't need to carry the fuel which has already been burnt. Assume, that the rocket takes off and lands instantly.
娜塔莎将乘坐火箭飞往火星并返回地球。此外,在前往火星的途中,她将在 n−2 个中间行星着陆。形式化地:我们将所有行星编号为 1 到 n,其中 1 表示地球,n 表示火星。娜塔莎将恰好进行 n 次飞行:1→2→…→n→1。
从行星 x 飞往行星 y 的飞行包含两个阶段:从行星 x 起飞、在行星 y 着陆。因此,整个行程为:第 1 颗行星 → 从第 1 颗行星起飞 → 在第 2 颗行星着陆 → 第 2 颗行星 → 从第 2 颗行星起飞 → … → 在第 n 颗行星着陆 → 第 n 颗行星 → 从第 n 颗行星起飞 → 在第 1 颗行星着陆 → 第 1 颗行星。
火箭(含全部有效载荷,但不含燃料)的质量为 m 吨。然而,娜塔莎并不知道应向火箭中装载多少燃料。不幸的是,燃料只能在地球上装载;因此,若火箭在其他某颗行星上耗尽燃料,则娜塔莎将无法返航。每次从某颗行星起飞以及在某颗行星着陆均需消耗燃料。已知:1 吨燃料可使火箭在第 i 颗行星起飞时承载 ai 吨总质量,或在第 i 颗行星着陆时承载 bi 吨总质量。
例如,若火箭质量为 9 吨,燃料质量为 3 吨,起飞系数为 8(即 ai=8),则将消耗 1.5 吨燃料(因为 1.5⋅8=9+3)。起飞后剩余燃料质量为 1.5 吨。
请注意:起飞或着陆过程中允许消耗非整数吨的燃料,初始装载的燃料质量也可以是非整数。
请帮助娜塔莎计算需装载进火箭的燃料最小质量。注意,火箭消耗燃料不仅用于运载有效载荷,也用于运载燃料自身;但无需运载已被消耗掉的燃料。假设火箭起飞和着陆瞬间完成。
输入格式
The first line contains a single integer n (2≤n≤1000) — number of planets.
The second line contains the only integer m (1≤m≤1000) — weight of the payload.
The third line contains n integers a1,a2,…,an (1≤ai≤1000), where ai is the number of tons, which can be lifted off by one ton of fuel.
The fourth line contains n integers b1,b2,…,bn (1≤bi≤1000), where bi is the number of tons, which can be landed by one ton of fuel.
It is guaranteed, that if Natasha can make a flight, then it takes no more than 109 tons of fuel.
第一行包含一个整数 n(2≤n≤1000)—— 行星的数量。
第二行包含一个整数 m(1≤m≤1000)—— 有效载荷的质量(单位:吨)。
第三行包含 n 个整数 a1,a2,…,an(1≤ai≤1000),其中 ai 表示在第 i 颗行星上,每吨燃料所能举起的吨数。
第四行包含 n 个整数 b1,b2,…,bn(1≤bi≤1000),其中 bi 表示在第 i 颗行星上,每吨燃料所能实现安全着陆的吨数。
题目保证:若娜塔莎能够完成此次飞行,则所需燃料总量不超过 109 吨。
输出格式
If Natasha can fly to Mars through (n−2) planets and return to Earth, print the minimum mass of fuel (in tons) that Natasha should take. Otherwise, print a single number −1.
It is guaranteed, that if Natasha can make a flight, then it takes no more than 109 tons of fuel.
The answer will be considered correct if its absolute or relative error doesn't exceed 10−6. Formally, let your answer be p, and the jury's answer be q. Your answer is considered correct if max(1,∣q∣)∣p−q∣≤10−6.
如果娜塔莎能经过 (n−2) 颗行星飞往火星并返回地球,则输出娜塔莎应携带的燃料最小质量(单位:吨);否则,输出单个数字 −1。
题目保证:若娜塔莎能够完成此次飞行,则所需燃料质量不超过 109 吨。
当你的答案的绝对误差或相对误差不超过 10−6 时,该答案即被视为正确。形式化地,设你的答案为 p,评测机的答案为 q,则当 max(1,∣q∣)∣p−q∣≤10−6 时,你的答案正确。
输入输出样例
输入#1
2 12 11 8 7 5
输出#1
10.0000000000
输入#2
3 1 1 4 1 2 5 3
输出#2
-1
输入#3
6 2 4 6 3 3 5 6 2 6 3 6 5 3
输出#3
85.4800000000
说明/提示
Let's consider the first example.
Initially, the mass of a rocket with fuel is 22 tons.
- At take-off from Earth one ton of fuel can lift off 11 tons of cargo, so to lift off 22 tons you need to burn 2 tons of fuel. Remaining weight of the rocket with fuel is 20 tons.
- During landing on Mars, one ton of fuel can land 5 tons of cargo, so for landing 20 tons you will need to burn 4 tons of fuel. There will be 16 tons of the rocket with fuel remaining.
- While taking off from Mars, one ton of fuel can raise 8 tons of cargo, so to lift off 16 tons you will need to burn 2 tons of fuel. There will be 14 tons of rocket with fuel after that.
- During landing on Earth, one ton of fuel can land 7 tons of cargo, so for landing 14 tons you will need to burn 2 tons of fuel. Remaining weight is 12 tons, that is, a rocket without any fuel.
In the second case, the rocket will not be able even to take off from Earth.
我们来考虑第一个例子。
最初,火箭(含燃料)的质量为 22 吨。
- 从地球起飞时,每吨燃料可将 11 吨载荷送入太空,因此要将 22 吨总质量送离地面,需消耗 2 吨燃料。此时火箭(含剩余燃料)的质量变为 20 吨。
- 在火星着陆过程中,每吨燃料可使 5 吨载荷安全着陆,因此为使 20 吨质量着陆,需消耗 4 吨燃料。之后火箭(含剩余燃料)的质量为 16 吨。
- 从火星起飞时,每吨燃料可将 8 吨载荷送离火星表面,因此要使 16 吨质量起飞,需消耗 2 吨燃料。此后火箭(含剩余燃料)的质量为 14 吨。
- 在地球着陆过程中,每吨燃料可使 7 吨载荷安全着陆,因此为使 14 吨质量着陆,需消耗 2 吨燃料。最终剩余质量为 12 吨,即一枚无任何剩余燃料的火箭。
在第二种情况下,火箭甚至无法从地球起飞。
输入解题思路,AI测评打分。不知道怎么写?