#P6912. [ICPC 2015 WF] Ship Traffic

[ICPC 2015 WF] Ship Traffic

题目描述

Ferries crossing the Strait of Gibraltar from Morocco to Spain must carefully navigate to avoid the heavy ship traffic along the strait. Write a program to help ferry captains find the largest gaps in strait traffic for a safe crossing.

Your program will use a simple model as follows. The strait has several parallel shipping lanes in east-west direction. Ships run with the same constant speed either eastbound or westbound. All ships in the same lane run in the same direction. Satellite data provides the positions of the ships in each lane. The ships may have different lengths. Ships do not change lanes and do not change speed for the crossing ferry.

The ferry waits for an appropriate time when there is an adequate gap in the ship traffic. It then crosses the strait heading northbound along a north-south line at a constant speed. From the moment a ferry enters a lane until the moment it leaves the lane, no ship in that lane may touch the crossing line. Ferries are so small you can neglect their size. Figure 1 illustrates the lanes and ships for Sample Input 1. Your task is to find the largest time interval within which the ferry can safely cross the strait.

Figure 1: Sample Input 1.

输入格式

The first line of input contains six integers: the number of lanes nn (1n1051 \leq n \leq 10^5), the width ww of each lane (1w10001 \leq w \leq 1\, 000), the speed uu of ships and the speed vv of the ferry (1u,v1001 \leq u, v \leq 100), the ferry’s earliest start time t1t_1 and the ferry’s latest start time t2t_2 (0t1<t21060 \leq t_1 < t_2 \leq 10^6). All lengths are given in meters, all speeds are given in meters/second, and all times are given in seconds.

Each of the next nn lines contains the data for one lane. Each line starts with either E or W, where E indicates that ships in this lane are eastbound and W indicates that ships in this lane are westbound. Next in the line is an integer mim_ i, the number of ships in this lane (0mi1050 \leq m_ i \leq 10^5 for each 1in1 \leq i \leq n). It is followed by mim_ i pairs of integers lijl_{ij} and pijp_{ij} (1lij10001 \leq l_{ij} \leq 1\, 000 and 106pij106-10^6 \leq p_{ij} \leq 10^6). The length of ship jj in lane ii is lijl_{ij}, and pijp_{ij} is the position at time 00 of its forward end, that is, its front in the direction it moves.

Ship positions within each lane are relative to the ferry’s crossing line. Negative positions are west of the crossing line and positive positions are east of it. Ships do not overlap or touch, and are sorted in increasing order of their positions. Lanes are ordered by increasing distance from the ferry’s starting point, which is just south of the first lane. There is no space between lanes. The total number of ships is at least 11 and at most 10510^5.

输出格式

Display the maximal value dd for which there is a time ss such that the ferry can start a crossing at any time tt with sts+ds \leq t \leq s+d. Additionally the crossing must not start before time t1t_1 and must start no later than time t2t_2. The output must have an absolute or relative error of at most 10310^{-3}. You may assume that there is a time interval with d>0.1d > 0.1 seconds for the ferry to cross.

3 100 5 10 0 100
E 2 100 -300 50 -100
W 3 10 60 50 200 200 400
E 1 100 -300

6.00000000

1 100 5 10 0 200
W 4 100 100 100 300 100 700 100 900

50.00000000

提示

Time limit: 3000 ms, Memory limit: 1048576 kB.

International Collegiate Programming Contest (ACM-ICPC) World Finals 2015