给你一个整数 n
和一个包含 n
个节点(编号从 0 到 n - 1
)的 有向无环图(DAG)。该图由二维数组 edges
表示,其中 edges[i] = [ui, vi, wi]
表示一条从节点 ui
到 vi
的有向边,边的权值为 wi
。
同时给你两个整数 k
和 t
。
你的任务是确定在图中边权和 尽可能大的 路径,该路径需满足以下两个条件:
k
条边;t
。返回满足条件的一个路径的 最大 边权和。如果不存在这样的路径,则返回 -1
。
示例 1:
输入: n = 3, edges = [[0,1,1],[1,2,2]], k = 2, t = 4
输出: 3
解释:
k = 2
条边的路径是 0 -> 1 -> 2
,其权重和为 1 + 2 = 3 < t
。示例 2:
输入: n = 3, edges = [[0,1,2],[0,2,3]], k = 1, t = 3
输出: 2
解释:
k = 1
条边的路径:
0 -> 1
,权重为 2 < t
。0 -> 2
,权重为 3 = t
,不满足小于 t
的条件。示例 3:
输入: n = 3, edges = [[0,1,6],[1,2,8]], k = 1, t = 6
输出: -1
解释:
k = 1
条边的路径:
0 -> 1
,权重为 6 = t
,不满足严格小于 t
。1 -> 2
,权重为 8 > t
。
提示:
1 <= n <= 300
0 <= edges.length <= 300
edges[i] = [ui, vi, wi]
0 <= ui, vi < n
ui != vi
1 <= wi <= 10
0 <= k <= 300
1 <= t <= 600