3118: 赛车游戏

时间限制:1000 ms 内存限制:256 MB
上传者:
提交:58 通过:8

题目描述

兰兰很喜欢赛车,一次他去参加了一个赛车游戏。

赛场是一个二维的矩形平面,有 $n$ 条赛道,赛车以一固定的速度 $v$ 行驶,赛车可以从任意赛道的 $0$ 点出发,每条赛道间隔 $1$ 米,且长度均为 $m$ 米,在这些赛道中共中有 $k$ 个障碍点(可以想象成质点)他不能够到达。

由于比赛当天的风很大,在赛道上有 $d$ 个地方会吹来妖风使得赛车往左或者往右移动,注意如果在同一地点有多阵妖风,效果取其绝对值最大值,且妖风推动赛车行驶的额外距离不纳入时间计算。

兰兰在每个单位长度的地方上可以选择往前移动 $1$ 米,或者往前移动 $1$ 米的同时往左右走移动到其他赛道(走斜线直线),但是不能超过给出的 $n$ 条赛道,比如说兰兰从 $1$ 号赛道决定移动到 $3$ 号赛道,速度为 $1$$m/s$,那么他花费的时间就是 $\sqrt5$ 。

兰兰想知道他最高成绩是多少,所以希望你来帮他计算出他到达终点的最少时间。

输入格式

第 $1$ 行有 $5$ 个整数 $n,m,k,d,v$ 分别表示赛道的个数,长度,障碍点的个数,妖风的个数,赛车的速度。

接下来有 $k$ 行,每行有用一个空格隔开的 $2$ 个整数下 $x,y$,表示 $y$ 赛道上第 $x$ 米的地方会有障碍物使得赛车无法通过。

接下来有 $d$ 行,每行有用一个空格隔开的 $2$ 个整数下 $a,b$ ,表示在赛道第 $a$ 米有妖风会让赛车向左移动 $b$ 个赛道,如果 $b$ 是负数就往右移动。

输出格式

输出共 $1$ 行

输出兰兰到达终点所能花费的最少时间(保留 $4$ 位小数),如果兰兰无论如何也不能到达终点则输出 $-1$ 。



输入样例 复制

2 10 10 0 1
1 1
2 2
3 1
4 2
5 1
6 2
7 1
8 2
9 1
10 2

输出样例 复制

13.7279

数据范围与提示