#P16625. [Ukiepc2023]Journey of Recovery

[Ukiepc2023]Journey of Recovery

题目描述

你计划进行一次包含多次中转的国际旅行,并最终前往 NWERC。由于你经常乘坐廉价航空,航班可能在即将登机时被临时取消。

假设你原计划乘坐的某一趟航班,在其出发时刻恰好被取消,而其他所有航班均正常运行。此时,你会从当前机场重新规划前往最终目的地的路线,并始终选择能够最早到达的方案。

对于原行程中的每一趟航班,都可能单独发生上述取消事件。请计算最坏情况下,你抵达最终目的地的时间会比原计划晚多少分钟。

输入格式

第一行包含航班总数 nn

1n106.1\le n\le 10^6.

接下来 nn 行,第 ii 行包含四个以空格分隔的字段:

  1. 出发机场代码 sis_i,长度满足 1si201\le |s_i|\le 20
  2. 出发时间;
  3. 到达机场代码 tit_i,长度满足 1ti201\le |t_i|\le 20
  4. 到达时间。

时间格式为 XdHH:MM,其中:

  • X 表示经过的整天数;
  • d 是字面字符;
  • HH 表示小时,0HH230\le HH\le 23
  • MM 表示分钟,0MM590\le MM\le 59

例如,2d03:15 表示第 22 天的 03:1503{:}15。根据样例,天数可以为 00,最大不超过 365365

随后一行包含原行程中的航班数量 mm

1mn.1\le m\le n.

最后一行包含 mm 个航班编号 f1,f2,,fmf_1,f_2,\ldots,f_m,按你原计划乘坐的顺序给出。

所有航班均连接两个不同机场,且到达时间严格晚于出发时间。

对于原行程中任意相邻的两趟航班 u,vu,v,保证航班 uu 的到达时间不晚于航班 vv 的出发时间。

转机不需要额外时间:若一趟航班在某一分钟到达,你可以乘坐同一分钟出发的另一趟航班。若原计划航班在出发时刻被取消,你也可以乘坐另一趟在完全相同时刻出发的航班。

输出格式

输出一个整数,表示单独取消原行程中任意一趟航班时,最坏情况下相对于原计划的最大延误分钟数。

如果无论取消哪一趟航班都不会导致晚到(甚至可能更早到达),输出 0

如果存在某一趟原计划航班被取消后,你无法到达最终目的地,则输出:

stranded

样例 1

输入

8
egnx 0d00:10 delft 0d01:00
delft 0d01:00 zad 0d09:00
zad 0d09:01 prg 0d15:30
prg 0d20:00 delft 1d02:15
prg 0d22:00 delft 1d04:15
zad 2d00:00 delft 3d00:00
egnx 2d00:00 delft 2d02:00
egnx 2d00:00 delft 2d02:00
4
1 2 3 4

输出

2745

样例 2

输入

3
ork 101d00:00 noc 101d00:01
ork 100d23:59 noc 101d00:02
dub 100d00:00 ork 101d00:00
2
3 1

输出

stranded

样例 3

输入

2
lax 0d00:30 hnl 0d06:20
lax 0d00:30 hnl 0d06:20
1
2

输出

0