#P9300. 开发计划
开发计划
Description
Juicepry®公司准备制定一份未来一段时期内的科研与产品开发计划。公司的各部门,都提出各自的计划项目,汇总成一张计划表。该计划表包含了许多项目,每个项目是一个研究课题,一个技术试验,一项市场调查,或者是一个推销活动,等等。对于每个项目,计划表中都给出了它的预算,开支或者盈利。由于某些项目的进行必须依赖其他项目的成果,所以如果要进行这个项目的话,它所依赖的项目也是必不可少的。例如,要推出一个新产品,先要分析其消费群体的需求,对产品的性能做出定位,然后设计产品的各个细节,包括形象包装,等等。现在假设你是Juicipry®公司的总裁,你的目标是从这份计划项目表中挑选出一些项目,使得你的公司能获得最大的利润。
Format
Input
包括项目的数量N,以及每个项目的预算Ci和他所依赖的项目集合Pi。格式如下:
第1行是N;
第2~n+1行每行表示一个项目的信息。
每行第一个数是Ci,正数表示盈利,负数表示开支。剩下的数表示项目i所依赖的项目。每行相邻的两个数之间用一个或多个空格隔开。
0≤N≤3000
-1000000≤Ci≤1000000
Output
第1行是公司的最大利润。
接着是获得最大利润的方案。 若有多个方案,则输出所选项目最少的。
每行一个数,表示选择的项目,所有项目按从小到大排序。
Samples
4
4
-2 1
-3 1
4 2 3
4
1
相关
在下列比赛中: