QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#3463. 铁人

Statistiques

铁人三项是一项运动员需要游泳 3.86 公里、骑自行车 180.25 公里,最后进行马拉松比赛的运动,它被认为是最艰苦的体育赛事之一。Viveka 一直在为一项更具挑战性的比赛进行训练:$n$ 项全能。在 $n$ 项全能比赛中,参赛者必须穿过多种地形(水域、沙地、冰面、沥青路面等)从起点到达终点。为了增加比赛的趣味性,参赛者可以自由选择他们认为最适合自己能力的路线。去年,Viveka 在冰面上滑行了最后 40 公里,仅用 1 小时就取得了史诗般的胜利,而她的劲敌 Veronica 则被困在距离终点 1 米处的焦油坑中。

今年的地形分布已经公布,现在作为 Viveka 团队的优化专家,你的任务是帮助她找出比赛的最佳路线。比赛在平坦的区域进行,我们将其建模为二维平面,每种类型的地形都呈水平条状分布。参赛者不允许离开比赛区域。你知道每个条状区域的位置以及 Viveka 在该类地形中的速度。

图片由 JBLM MWR 提供

输入格式

第一行包含两对十进制数 $x_s, y_s, x_f, y_f$,分别表示起点和终点的 $x$ 和 $y$ 坐标(单位:米)。第二行包含一个整数 $n$ ($1 \le n \le 10\,000$),表示层数。第三行包含 $n-1$ 个十进制数,表示各层之间分界线的 $y$ 坐标。层按顺序给出,即 $y_s < y_1 < y_2 < \dots < y_{n-1} < y_f$,因此第 $i$ 层的形状为 $(-10\,000, 10\,000) \times (y_{i-1}, y_i)$。第一层和最后一层仅延伸至起点和终点的 $y$ 坐标,即它们的形状分别为 $(-10\,000, 10\,000) \times (y_s, y_1)$ 和 $(-10\,000, 10\,000) \times (y_{n-1}, y_f)$。第四行包含 $n$ 个十进制数,表示 Viveka 在每一层中的速度(单位:米/秒)。所有十进制数的绝对值最大为 $10^4$,且最多包含 4 位小数。

输出格式

输出 Viveka 从起点到达终点所需的最短时间。你的答案的绝对误差或相对误差应不超过 $10^{-6}$。

样例

样例输入 1

0 0 0 100
2
50
5 1

样例输出 1

60

样例输入 2

0 0 100 100
2
50
1 5

样例输出 2

71.5697725691

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.