#P7232. [JSOI2014] 支线剧情 2

[JSOI2014] 支线剧情 2

题目描述

宅男 JYY 非常喜欢玩 RPG 游戏,并且 JYY 总是想花费最少的时间看完所有的支线剧情。最近JYY买了一款新的正版 RPG 游戏,所以 JYY 总算可以“读档”和“存档”了!

JYY 现在所玩的 RPG 游戏中,一共有 nn 个剧情点,由 11nn 编号,第 ii 个剧情点可以根据 JYY 的不同的选择,而经过不同的支线剧情,前往 kik_i 种不同的新的剧情点。当然如果 kik_i00,则说明 ii 号剧情点是游戏的一个结局了。

JYY 观看一个支线剧情需要一定的时间。JYY—开始处在 11 号剧情点,也就是游戏的开始。JYY 买的这款游戏很特殊,从游戏开始到达任何一个剧情点的支线路径都是唯一的。而且,任何一个剧情点都是从 11 号剧情点可达的。

与上一款 RPG 游戏一样,JYY 可以在任意时刻选择重新开始游戏,即回到 11 号剧情点。不过有些不同的是,这次 JYY 买的是正版软件,每当 JYY 到达一个剧情点,JYY 都可以进行“存档”和“读档”。但是很遗憾的是,JYY 的 RPG 游戏只有一个存档的位置:每次“存档”操作都会覆盖之前的存档。比如,如果 JYY 在 xx 号剧情点进行了“存档”操作,那么此后当 JYY 到达任何一个剧情点(包括结局)都可以“读档”并立即回到 xx号剧情点。但是如果之后 JYY 在 yy 号剧情点又进行了“存档”,那么 JYY 再进行“读档”,就只能回到 yy 号剧情点了。

一开始存档位置里没有存储任何信息,所以 JYY 只有在进行一次“存档”操作之后才可以进行“读档”操作,并且“读档”,“存档”和“重新开始”都是不需要花费时间的。

重复观看己经看过的剧情是很痛苦的,JYY 希望花费最少的时间,看完所有不同的支线剧情。

输入格式

第一行为一个正整数 nn

接下来 nn 行,第 ii 行为第 ii 号剧情点的信息。

每一行第一个非负整数为 kik_i。接下来 kik_i 个整数对,bi,jb_{i,j}ti,jt_{i,j},表示从剧情点 ii 可以前往剧情点 bi,jb_{i,j},并且观看这段支线剧情需要花费 ti,jt_{i,j} 的时间。

输出格式

一行一个整数,表示 JYY 看完所有支线剧情所需要的最少时间。

9
2 5 1 2 1
2 3 1 6 1
2 7 1 4 1
2 8 1 9 1
0
0
0
0
0
8

提示

样例解释 1

最佳路线为:

11 前往 55,然后重新开始。

11 前往 22,在 22 处存档,再前往 66,并读档。

22 前往 33,在 33 处存档,再前往 77,并读档。

33 前往 44,在 44 处存档,再前往 88,并读档。

最后前往 99,花费时间为 88。可以证明没有比 88 更小的答案。

数据范围

对于 100%100\% 的数据,$n\leq 10^6,1\leq t_{i,j}\leq 10^4,\sum\limits_{i=1}^{n}k_i=n-1$。