|
||||||||||
A Rod in a PathTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 158 Accepted Submission(s): 0 Problem Description Alice has a rod. One day, she draws a path on a grid and puts the rod on it. The path begins at (0, 0) and continues to the right. The first and last segments are always horizontal, so there are always an odd number of segments. If we number the segments 1, 2, ¡ , n, odd-numbered segments are all horizontal, while other segments (if any) are vertical. Initially, one endpoint B of the rod is located at (0, 0), and the other endpoint A is at (L, 0), where L is the length of the rod. The length of the first segment is at least L. When moving the rod, both endpoints A and B must be always on the path, though other parts may be outside. The rod is hard, so its length (i.e. distance between A and B) is always L. Write a program to compute the minimum distance A must cover to reach the rightmost endpoint of the path. Input The input consists of several test cases. The first line of each case contains two integers n and L (1 ¡Ü n ¡Ü 10, 1 ¡Ü L ¡Ü 30),described above. The second line contains n non-zero integers li (-30 ¡Ü li ¡Ü 30), the lengths and directions of path segments. The absolute value of li denotes length of the i-th segment. If it is horizontal, li is positive. That means, horizontal segments are always left-to-right. If it is vertical, positive means down-to-up (increasing y coordinate), negative means up-to-down (decreasing y coordinate). The last test case is followed by a single zero, which should not be processed. Output For each test case, print the case number and the minimum distance to two decimal places. If it's not possible to reach the rightmost point, print -1. Sample Input
Sample Output
Source | ||||||||||
|