#L0404. 任务调度最短耗时

任务调度最短耗时

题目描述

某工厂有 nn 项待完成的任务,每项任务需要一定时间来执行。部分任务之间存在依赖关系:某些任务必须在其所有前置任务完成后才能开始。编号为 11 的任务没有任何前置任务,可以最先执行。

给定 nn 项任务的耗时和依赖关系,求完成全部任务的最短总耗时。假设工厂有足够多的工人,可以同时执行任意多项互不依赖的任务。

输入格式

11 行一个整数 n (3n10,000)n\ (3 \le n \le 10{,}000),表示任务数。

22n+1n+1 行,每行若干空格分隔的整数:

  • 第一个整数为任务编号(保证从 11nn 递增);
  • 第二个整数为该任务的耗时 len (1len100)len\ (1 \le len \le 100)
  • 之后为该任务的前置任务编号列表,以 00 结束。无前置任务时只写一个 00

每个前置任务的编号一定小于当前任务编号。前置任务总数不超过 100100 个。输入中无多余空格。

输出格式

一个整数,表示完成所有任务的最短总耗时。

样例

7
1 5 0
2 2 1 0
3 3 2 0
4 6 1 0
5 1 2 4 0
6 8 2 4 0
7 4 3 5 6 0
23
难度 普及
通过率
尝试 0
已通过 0
ID
1132
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者