1090: 小明做家务

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:1

题目描述

小明要做一些列家务,每个家务从开始做到做完,有一个时间Time[i]。每个家务都有相应的机器人或者工具完成,因此可以同时进行。

但是除了第一个家务,其他都有一些之前的准备步骤要完成。例如烧水,必须先洗水壶和倒水。

小明将这些家务都安排好,并且整理出了每个家务的准备步骤都是哪些家务。保证依次执行即可完成所有家务。

但是,小明是一个追求效率的程序员,由于家务可以同时进行,因此小明想要找出最少完成的时间。

输入

第一行一个整数N(3<=N<=10000)表示共有多少家务要做。

接下来N行,表示每个家务的情况。

第一个整数Time[i]表示做完第i个家务所需要的时间,第二个整数Pi,表示要开始这个家务,必须先完成的家务数,接下来Pi个整数,表示前提家务的编号,编号在1~N之间,且肯定小于当前任务编号i。

输出

输出一个整数,表示做完所有家务所需的最少时间。

样例输入 复制

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

样例输出 复制

23