#JC0306. Fly
Fly
题目描述
Natasha 将乘坐火箭飞向火星并返回地球. 同时, 在去火星的路上, 她会在 个途中的行星着陆. 形式上, 我们把所有的行星标号从 到 . 是地球, 是火星. Natasha 将飞确切的 次:
从 飞向 包括两个阶段: 从行星 起飞和降落到行星 上. 像这样, 飞行的总行程为: 第 个行星 从第 个行星起飞 降落到第 个行星 第 个行星 从第 个行星起飞 降落到第 个行星 第 个行星 从第 个行星起飞 降落到第 个行星 第 个行星.
火箭连同所有有用的货物(不包括燃料)的质量为 吨. 但是, Natasha不知道要给火箭装多少燃料. 不幸的是,燃料只能从地球上装,所以如果火箭在其他星球耗尽燃料,Natasha将无法返回家园. 从每个星球起飞和降落到每个星球都需要燃料. 我们规定 吨的燃料可以使 吨的火箭从第 颗行星起飞,或者使 吨的火箭降落到第 颗行星上.
举个例子来说, 如果火箭有 吨重, 燃料的重量为 吨并且起飞系数是 (), 所以 吨的燃料会被消耗 (因为 ). 起飞后的新燃油重量为 吨.
但是要注意,起飞或着陆时允许燃烧非整数量的燃油,初始燃油量也可以是非整数.
请帮助Natasha计算装入火箭的最小燃料质量. 注意,火箭必须消耗燃料来运载有用的货物和燃料本身. 然而,它不需要携带已经燃烧的燃料. 假设火箭起飞和着陆都是一瞬间完成的。
输入格式
第一行包括一个整数 () — 行星的个数.
第二行包括一个整数 () — 载荷的重量.
第三行包括 个整数 (), 其中 是一吨燃料能提起的火箭吨数.
第四行包括 个整数 (), 其中 是一顿燃料可以让火箭着陆的吨数.
数据保证能飞的情况下燃料不会超过 吨.
输出格式
如果Natasha可以中介 个行星飞往火星并飞回地球, 输出她所带的最小燃油吨数. 否则, 输出 .
当你的答案与标准答案的差值不超过 时才会判断你的答案正确. 也就是说, 你的答案是 , 标准答案是 . 满足 时你的答案才算正确.
2
12
11 8
7 5
10.0000000000
3
1
1 4 1
2 5 3
-1
6
2
4 6 3 3 5 6
2 6 3 6 5 3
85.4800000000
提示
我们来考虑第一个样例:一开始火箭总质量是 吨.
- 离开地球时一吨燃料可以提起 吨的货物, 所以提起 吨你需要烧 吨的燃料. 剩下的火箭总质量为 吨.
- 着陆到火星上时, 一吨的燃料可以放下 吨的货物, 所以要放下 吨你需要烧 吨的燃料. 总质量将剩下 吨.
- 从火星起飞时, 一吨的燃料可以提起 吨的货物, 所以提起 吨你需要烧 吨的燃料. 总质量将剩下 吨.
- 着陆到地球上时, 一顿燃料可以放下 吨的货物, 所以放下 吨你需要烧 吨的燃料. 剩下的总质量是 吨, 也就是说, 一个没有燃料的火箭.
在第二个样例中,火箭没办法回到地球.
相关
在以下作业中: