Problem Statement
Your program must return a double, the time in seconds at which the mixture becomes deadly. If the mixture never becomes deadly, return -1.0.
Definition
- Class:
- FountainOfLife
- Method:
- elixirOfDeath
- Parameters:
- int, int, int
- Returns:
- double
- Method signature:
- double elixirOfDeath(int elixir, int poison, int pool)
- (be sure your method is public)
Notes
- The returned value must be accurate to within a relative or absolute value of 1E-9.
Constraints
- elixir will be between 1 and 10000, inclusive.
- poison will be between 1 and 10000, inclusive.
- pool will be between 1 and 10000, inclusive.
Examples
1
2
2
Returns: 2.0
At t = 0s there are 2 liters of 100% elixir. At t = 1s there are 3 liters of elixir and 2 liters of poison for a total volume of 5 liters. 2 liters of poison is 40% of 5 liters so the mixture is still not deadly. At t = 2s there are 4 liters of elixir and 4 liters of poison for a total volume of 8 liters. 4 liters of poison is exactly 50% of the mixture so it is now deadly.
200
100
1
Returns: -1.0
With 200 liters of elixir per second and only 100 liters of poison per second, the mixture never becomes deadly.
9999
10000
10000
Returns: 10000.0
It might take a long time for the mixture to become deadly.
1
10000
1
Returns: 1.0001000100010001E-4
On the other hand, it might take a short time for the mixture to become deadly.
40
43
41
Returns: 13.666666666666666
1000
999
1
Returns: -1.0
6465
1234
123
Returns: -1.0
3144
23
2459
Returns: -1.0
438
574
8456
Returns: 62.1764705882353
243
3400
5234
Returns: 1.6579030725372188
2348
45
4583
Returns: -1.0
3
4835
96
Returns: 0.019867549668874173
4875
432
1267
Returns: -1.0
1236
346
9864
Returns: -1.0
9946
2231
9784
Returns: -1.0
6321
32
1335
Returns: -1.0
9875
32
8743
Returns: -1.0
9123
24
5689
Returns: -1.0
7575
5
2347
Returns: -1.0
1231
2344
10000
Returns: 8.984725965858042
9999
10000
9992
Returns: 9992.0
10000
1
6756
Returns: -1.0
1234
27
4321
Returns: -1.0
7777
8787
9898
Returns: 9.8
7848
1438
2132
Returns: -1.0
9876
9897
6874
Returns: 327.3333333333333
2222
3333
7776
Returns: 6.999099909990999
1805
806
2006
Returns: -1.0
174
806
2006
Returns: 3.1740506329113924
1
2006
2005
Returns: 1.0
1999
1998
2001
Returns: -1.0
15
16
17
Returns: 17.0
19
19
20
Returns: -1.0
987
989
5782
Returns: 2891.0
3843
3843
806
Returns: -1.0
806
2006
2005
Returns: 1.6708333333333334
1
1
12
Returns: -1.0
1
1
1
Returns: -1.0
10000
10000
10000
Returns: -1.0
1
10000
10000
Returns: 1.000100010001
1
10000
2
Returns: 2.0002000200020003E-4
2
5
1
Returns: 0.3333333333333333
2000
5000
1000
Returns: 0.3333333333333333
40
43
41
Returns: 13.666666666666666
1
1
1
Returns: -1.0
2
2
2
Returns: -1.0
2
2
5
Returns: -1.0
1
10000
1
Returns: 1.0001000100010001E-4
100
100
1
Returns: -1.0
5
5
5
Returns: -1.0
5
5
2
Returns: -1.0
10
10
10
Returns: -1.0
4
4
5
Returns: -1.0
1
1
100
Returns: -1.0
5
5
6
Returns: -1.0