AT_pakencamp_2025_day1_b Keikyu Line

题目描述

有一条铁路线,共有 $N$ 个车站,所有车站都沿一条直线排列。也就是说,没有环路或分支。 关于这条线路的信息,依照距离某一端点较近的顺序,给出每个车站的名字 $S_i$ 以及从该端点到车站的距离 $D_i$。特别地,$D_1 = 0$。 现在,你会被提出 $Q$ 个如下类型的问题: - `X Y` :给定线路上包含的两个车站 $X$ 和 $Y$,请回答这两个车站之间的距离。 请回答所有的问题。

输入格式

输入以如下形式通过标准输入给出。 > $N$ > $S_1$ $D_1$ > $S_2$ $D_2$ > $\vdots$ > $S_N$ $D_N$ > $Q$ > $X_1$ $Y_1$ > $X_2$ $Y_2$ > $\vdots$ > $X_Q$ $Y_Q$

输出格式

输出共 $Q$ 行,第 $i$ 行($1 \leq i \leq Q$)输出第 $i$ 个问题的答案。

说明/提示

### 样例解释 1 “从终点的距离”这个表述太冗长,以下简化为“位置”。 - 关于第 $1$ 个问题,`Byobugaura` 的位置为 $65$,`Tobe` 的位置为 $161$,因此这两个车站之间的距离为 $|65 - 161| = 96$。 - 关于第 $2$ 个问题,`Yokohama` 的位置为 $173$,`Gumyoji` 的位置为 $104$,因此距离为 $|173 - 104| = 69$。 - 关于第 $3$ 个问题,指定的两个车站均为 `Keikyu-higashi-kanagawa`。这种情况下,两个车站的距离为 $0$。 - 关于第 $4$ 个问题,`Kanazawa-bunko` 的位置为 $0$,`Sugita` 的位置为 $52$。其中一个是起点,因此距离就是 $52$,计算非常简单。 ### 数据范围与限制 - $2 \leq N \leq 100$ - $1 \leq |S_i| \leq 30$($1 \leq i \leq N$) - $S_i$ 的第 $1$ 个字符为大写英文字母,第 $2$ 个及以后为小写英文字母或短横线 - $S_i$ 互不相同 - $0 \leq D_i \leq 10^5$($1 \leq i \leq N$) - $D_i < D_{i+1}$($1 \leq i \leq N-1$) - $D_1 = 0$ - $1 \leq Q \leq 100$ - 对于每个 $i$($1 \leq i \leq Q$),存在 $j$ 满足 $X_i = S_j$ - 对于每个 $i$($1 \leq i \leq Q$),存在 $j$ 满足 $Y_i = S_j$ - $N, Q, D_i$($1 \leq i \leq N$)均为整数。 由 ChatGPT 5 翻译