CF746C Tram

题目描述

在 Berland,电车沿一条直线从 $0$ 点开到 $s$ 点再返回,每 $t_1$ 秒通过 $1$ 米,无论哪一方向都是如此。也就是说,电车始终做匀速直线运动,并且在 $x=0$ 和 $x=s$ 处可以瞬间调头。 Igor 现在在 $x_1$ 点,他需要到达 $x_2$ 点。Igor 每 $t_2$ 秒能走 $1$ 米。 已知 Igor 到达 $x_1$ 时电车的位置和当前行驶方向,请你求出 Igor 从 $x_1$ 走到 $x_2$ 的最短时间。 在任意时刻,只要电车和 Igor 位置重合,Igor 都可以无限次上下电车,上下车均为瞬间完成。Igor 上下车点不要求是整数点。Igor 在路线上也可以原地等待任意时长,但不可以超过 $t_2$ 速率前进。

输入格式

第一行包含三个整数 $s$、$x_1$ 和 $x_2$($2 \leq s \leq 1000$,$0 \leq x_1, x_2 \leq s$,$x_1 \neq x_2$),表示电车行驶的最大坐标,Igor 的起点和终点。 第二行包含两个整数 $t_1$ 和 $t_2$($1 \leq t_1, t_2 \leq 1000$),分别表示电车和 Igor 通过 $1$ 米所需的秒数。 第三行包含两个整数 $p$ 和 $d$($1 \leq p \leq s-1$,$d$ 为 $1$ 或 $-1$),表示 Igor 到达 $x_1$ 时电车所在的位置 $p$ 以及行驶方向 $d$。若 $d=1$,则电车正向 $0 \rightarrow s$ 方向行驶;若 $d=-1$,则电车正向 $s \rightarrow 0$ 方向行驶。

输出格式

输出 Igor 从 $x_1$ 走到 $x_2$ 的最短时间,单位为秒。

说明/提示

在第一个样例中,Igor 直接走路比等电车更快。他需要走 $2$ 米,每 $4$ 秒走 $1$ 米,所以总共需要 $8$ 秒。 在第二个样例中,Igor 可以先步行向 $x_2$,$6$ 秒后到达 $1$ 点(他需要走 $3$ 米,每 $2$ 秒走 $1$ 米)。此时电车正好到 $1$ 点,Igor 可以上车继续走,剩下 $1$ 米由电车负责,时间为 $1$ 秒,总共 $7$ 秒到达终点。 由 ChatGPT 5 翻译