#P13230. [GCJ 2015 #3] Runaway Quail
[GCJ 2015 #3] Runaway Quail
题目描述
Oh no -- your pet quail have all gotten loose! You are currently at position 0 on a line; the th quail starts off at some nonzero integer (positive or negative) position on that line, in meters, and will continuously run away from you at a constant integer speed of meters per second. You can run at a constant integer speed of meters per second, and can change direction instantaneously whenever you want. Note that quail constantly run away from you even if you are not running toward them at the time. Whenever you occupy the same point as a quail, that quail is caught (this takes no additional time).
What is the minimum number of seconds it will take you to catch all of the quail?
输入格式
The first line of the input gives the number of test cases, . test cases follow. Each begins with one line with two space-separated integers , your speed, and , the number of quail, and is followed by two more lines with space-separated integers each. The first of these gives the positions of the quail, and the second gives the speeds .
输出格式
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 needed to catch all the quail.
will be considered correct if it is within an absolute or relative error of of the correct answer.
2
4 3
-3 -6 -9
3 2 1
2 2
1 -1
1 1
Case #1: 3.000000
Case #2: 5.000000
提示
Sample Explanation
In Case #1, you can run to the left and catch all three quail at the same time, 12 meters to the left of the starting position, which takes 3 seconds.
In Case #2, one optimal strategy is to run to the left until the second quail is caught at m, which takes one second, and then run to the right in pursuit of the first quail, which you will catch at 6 m, taking four more seconds.
Limits
- ; no is 0 .
Small dataset(8 Pts)
- Time limit:
2405 seconds.
Large dataset(15 Pts)
- Time limit:
48010 seconds.