#P10759. [BalticOI 2024] Jobs
[BalticOI 2024] Jobs
题目背景
题目描述
目前,你可以选择从 到 编号的 个一次性工作。
完成第 个工作将给你带来 欧元的利润,当然,利润也可能是负的。
有些工作依赖于另一个工作。也就是说,可能有一个编号为 的工作必须在第 个工作开始之前完成。因此,一个利润较大的工作如果依赖于一个利润为负的工作,看起来收益可能会比较小。
如果 ,则第 个工作没有依赖。
你目前有 欧元,可以决定做哪些工作以及以什么顺序去做,只要尊重依赖关系。此外,你所拥有的钱数在任何时候都不能变成负数。
请计算通过选择按照某种顺序完成(也可能某些选择不完成)这 个工作所能获得的最大利润。
输入格式
第一行包含两个整数 和 ,分别是工作的数量和你最初拥有的金额。
接下来的 行,每行包含两个整数 和 ,分别是第 个工作的利润和它所依赖的前置工作的编号。如果 ,则第 个工作没有依赖。
输出格式
你的程序应该输出一个整数,即你能够获得的最大利润。
6 1
3 0
-3 1
-5 0
2 1
6 3
-4 5
6
提示
分别选择 号工作即可,总利润为 。
子任务编号 | 特殊性质 | 分值 |
---|---|---|
且满足性质 A | ||
满足性质 A | ||
无特殊性质 |
- 性质 A:每个 要么是 ,要么是 。
对于所有的数据,,,,。