#P1162. 地铁换乘
显示设置
本题导航点一下展开
我的笔记
✕
地铁换乘
题目背景
城市新开了几条地下线路,站台之间的换乘通道弯弯绕绕。志愿者服务台每天都要回答同一个问题:从某一站到另一站,最少要花多少时间。
题目描述
城市里有 座地铁站,编号 ,以及 条线路。
第 条线路由 座站点依次组成一个序列 ,列车沿这条线路双向运行。在线路上相邻的两站之间乘车需要 分钟(两个方向都一样)。同一条线路的站点序列中不会出现重复的站点。
乘车规则如下:
- 出发时,你可以在 站任意挑选一条经过 的线路登车;下车不额外耗时。
- 乘车过程中,你可以一直在同一条线路上坐到任意一座该线路经过的站点,耗时按经过的站间段数计算。
- 在某一站下车后,你可以换乘到经过这一站的任意另一条线路,一次换乘耗时 分钟;同一条线路内部不需要换乘。
请计算从 站到 站所需的最少时间。如果无论如何都到不了 ,输出 -1。如果 ,答案为 。
输入格式
第一行四个整数 。
接下来 行,第 行先给出一个整数 ,随后给出 个整数,表示第 条线路的站点序列。
输出格式
一行一个整数,表示最少时间;到不了输出 -1。
输入输出样例 #1
输入 #1
4 2 1 4
4 1 2 3 4
2 2 3
输出 #1
3
说明
在 号站登上第 条线路,依次经过 号站、 号站,到 号站下车,共 分钟。
输入输出样例 #2
输入 #2
5 2 1 5
3 1 2 3
3 3 4 5
输出 #2
9
说明
先坐第 条线路从 号站到 号站( 分钟),在 号站换乘第 条线路( 分钟),再坐到 号站( 分钟),共 分钟。
输入输出样例 #3
输入 #3
3 1 1 3
2 1 2
输出 #3
-1
数据范围与约定
- 对于 的数据,,。
- 对于 的数据,每条线路最多包含 座站点。
- 对于 的数据,,,,;同一条线路内站点互不相同。