#YSR2014. 赛博机甲:科技树点亮
赛博机甲:科技树点亮
Problem Description
题目描述
在星际机甲研发中心,首席工程师需要为新一代机甲“星辰号”规划科技树的点亮方案。
科技树中共有 个研发节点,每个节点研发完成后能提升机甲一定的“综合战力”,分别记作 。科技树的解锁存在严格的依赖关系:每个节点有且仅有一个“前置节点”(或者没有前置节点)。若节点 是节点 的前置节点,意味着必须先投入资源完成节点 的研发,才能解锁并研发节点 。
由于研发预算和时间的限制,工程师最多只能选择 个节点进行研发。请问在满足前置依赖条件的前提下,如何选择 个节点,能使机甲获得的“综合战力”最大?
题目保证科技树的依赖关系构成合法的森林结构(即不会出现循环依赖,如 依赖 且 依赖 的情况)。
输入格式
第一行有两个整数 , 用空格隔开 ,分别表示科技树的节点总数和最多能研发的节点数量。 接下来的 行,第 行包含两个整数 和 。 表示第 个节点的前置节点编号, 表示第 个节点能提供的战力值。若 表示该节点为基础节点,无需前置即可直接研发 。
数据保证至少存在一个 ,即至少有一个基础节点。
输出格式
只有一行,一个整数,表示选择 个节点能获得的最大综合战力。
输入输出样例 #1
输入 #1
7 4
2 2
0 1
0 4
2 1
7 1
7 6
2 2
输出 #1
13