#P9700. 有点难的模拟题

有点难的模拟题

题目描述

由于 fot 机房⾥⿊暗势⼒猖獗,善良的⼩ G 遭到了⾮⼈的折磨。现在,⼩ G 被扔到了⼀个地牢⾥,从时刻 00 开始,要从起点 SS ⾛向终点 TT——那是唯⼀通向外界的地⽅。⿊暗势⼒为了进出地牢,会在 kk 时刻开放终点,也仅会在 kk 时刻开放终点。

地牢有 nn 个房间,对于给定 mm(u,v)(u,v) 的房间之间有⼀扇⻔,⻔当然是可以从任意⼀边进⼊,任意⼀边出来。每扇⻔有需要⼀定⼒量来推开,即只有⼒量⼤于这个值,才能通过这扇⻔。当然,通过⼀扇⻔需要 11 时刻的时间,也即从第 xx 时刻到第 x+1x+1 时刻,⼩ G 能通过⼀扇⻔。

当然,毁灭世界的恶势⼒不会如此轻易的放过他,于是,他们⽤⾼超的 OI 技术编写了⼏个巡逻机器⼈,放置在迷宫⾥。由于⼩ G ⻓年待在⿊暗势⼒内部,早已脆弱不堪,⼀旦⼩ G 和机器⼈相遇,他就 GG 了。⽽且,传承⾃ fot 优秀的时空折叠技术,机器⼈会瞬移,⽽不受⻔的影响。你可以理解为它们不会经过任意⼀扇⻔,所以⼩ G 不会在从⼀个房间⾄另⼀个房间的路途中 GG。

这可怎么办呢?由于⼩ G 深谙敌军的组成和习性,知道某⼈总是造锅,导致了⼈⼯智能智障化⸺它们仅仅会周期性的游⾛。⼩ G 已经掌握了源码中的错误,知晓了每个机器⼈的游⾛房间顺序,和周期 TT。它们会在第 11 时刻出现并开始按照顺序遍历,所以⼩ G 在第 00 时刻不会受到影响,⼩ G 不会开场 GG。

那么问题来了,由于⼩ G 忙于逃跑,他想询问,需要多⼤的⼒⽓才能逃出地牢。当然,由于从第 00 时刻到第 11 时刻只有 1.001s1.001s,他要⽤ 0.001s0.001s 的时间锻炼⾝体来获取最低的⼒量值,所以,你只有 1s1s 的时间来回答这个问题。如果⽆论如何都不能逃出去,请输出 impossible

请注意:任意时刻⼩ G 必须经过⼀扇⻔,如果某⼀时刻⼩ G ⽆路可⾛,也请输出 impossible

输入格式

输⼊第⼀⾏,三个个⾮负整数 n,m,kn,m,k,表⽰房间的个数和⻔的数量以及终点恰好开放的时间。

接下来 mm ⾏,每⾏有三个数 u,v,wu,v,w,分别表⽰⻔的两边与推开此⻔的最⼩⼒量值。

m+2m+2 ⾏有⼀个⾮负整数 numnum,表⽰机器⼈的数量,和两个正整数 S,TS,T,表⽰起点与终点。

接下来 numnum ⾏,每⾏第⼀个为 tit_i,表⽰第 ii 个机器⼈的周期,后⾯会有个 tit_i 正整数,表⽰机器⼈依次遍历的房间。

输出格式

输出⼀个数,表⽰你最⼩需要的⼒量值。

样例

4 5 3
1 2 3
2 4 6
3 2 4
1 4 5
2 3 4
2 1 3
2 2 1
3 2 1 4
6

00 时刻,⼩ G 在 11 房间,机器⼈尚未出现。

在第 11 时刻,⼩ G 从 11 房间到 44 房间,需要⼒量值 55,机器⼈ 1,21,2出现在 22 房间。

在第 22 时刻,⼩ G 从 44 房间到 22 房间,需要⼒量值 66,此时机器⼈ 1,21,222 房间到 11 房间。

在第 33 时刻,⼩ G 从 22 房间到 33房间,需要⼒量值 44,此时机器⼈ 1111 房间到 22 房间,机器⼈ 2222 房间到 44 房间。

综上,⼩ G 需要最⼩的⼒量值 66。可以证明上述过程合法且不存在更优解。

3 3 2
1 2 3
2 3 2
1 3 1
2 1 3
2 1 2
2 2 3
impossible

数据范围

对于前 10%10\% 的数据,m=0m=0

对于另外 20%20\% 的数据,对于任意 ii,都有 ti=1t_i=1

对于另外 20%20\% 的数据,推开所有⻔的⼒量值⼀样。

对于前 60%60\% 的数据,n15n\le 15m100m\le 100k104k\le 10^4

对于全部数据,0n500\le n\le 500m16000\le m\le 16000k1080\le k\le 10^80num100\le num\le 101ti41\le t_i\le 40w1060\le w\le 10^6