Introduction
Cookie Clicker is a Javascript game by Orteil, where players click on a picture of a giant cookie. Clicking on the giant cookie gives them cookies. They can spend those cookies to buy buildings. Those buildings help them get even more cookies. Like this problem, the game is very cookie-focused. This problem has a similar idea, but it does not assume you have played Cookie Clicker. Please don't go play it now: it might be a long time before you come back.
In this problem, you start with cookies. You gain cookies at a rate of 2 cookies per second, by clicking on a giant cookie. Any time you have at least cookies, you can buy a cookie farm. Every time you buy a cookie farm, it costs you cookies and gives you an extra cookies per second.
Once you have cookies that you haven't spent on farms, you win! Figure out how long it will take you to win if you use the best possible strategy.
Example
Suppose , and . Here's how the best possible strategy plays out:
- You start with cookies, but producing cookies per second.
- After seconds, you will have cookies and can buy a farm that produces cookies per second.
- After buying the farm, you have cookies, and your total cookie production is cookies per second.
- The next farm will cost cookies, which you can buy after about seconds.
- After buying your second farm, you have cookies, and your total cookie production is cookies per second.
- Another farm will cost cookies, which you can buy after seconds.
- After buying your third farm, you have cookies, and your total cookie production is cookies per second.
- Another farm would cost cookies, but it actually makes sense not to buy it: instead you can just wait until you have cookies, which takes about seconds.
Total time: seconds.
Notice that you get cookies continuously: so seconds after the game starts you'll have cookies, and seconds after the game starts you'll have cookies.
Input Specification
The first line of the input gives the number of test cases, . lines follow. Each line contains three space-separated real-valued numbers: , and , whose meanings are described earlier in the problem statement.
, and will each consist of at least 1 digit followed by 1 decimal point followed by from 1 to 5 digits. There will be no leading zeroes.
Output Specification
For each test case, output one line containing Case #x: y
, where is the test case number (starting from 1) and is the minimum number of seconds it takes before you can have delicious cookies.
We recommend outputting to decimal places, but it is not required. will be considered correct if it is close enough to the correct number: within an absolute or relative error of .
Limits
Memory limit: 1 GB.
.
Small dataset
Time limit: 60 seconds.
.
.
.
Large dataset
Time limit: 120 seconds.
.
.
.
Sample Input
4
30.0 1.0 2.0
30.0 2.0 100.0
30.50000 3.14159 1999.19990
500.0 4.0 2000.0
Sample Output
Case #1: 1.0000000
Case #2: 39.1666667
Case #3: 63.9680013
Case #4: 526.1904762
Note
Cookie Clicker was created by Orteil. Orteil does not endorse and has no involvement with Google Code Jam.
This problem has different time limits for different batches. If you exceed the Time Limit for any batch, the judge will incorrectly display >120.000s
regardless of the actual time taken. Refer to the Limits section for batch-specific time limits.
Comments