P4138 [JOISC 2014] 挂饰 / Straps
题目描述
JOI 君有 $N$ 个装在手机上的挂饰,编号为 $1,2,\cdots,N$。JOI 君可以将其中的一些装在手机上。
JOI 君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩。每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上。直接挂在手机上的挂件最多有 $1$ 个。
此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示。如果 JOI 君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数。
JOI 君想要最大化所有挂饰的喜悦值之和。注意不必要将所有的挂钩都挂上挂饰,而且一个都不挂也是可以的。
输入格式
第一行一个整数 $N$,代表挂饰的个数。
接下来 $N$ 行,第 $i$ 行 $(1\le i\le N)$ 有两个空格分隔的整数 $A_i$ 和 $B_i$,表示挂饰 $i$ 有 $A_i$ 个挂钩,安装后会获得 $B_i$ 的喜悦值。
输出格式
输出一行一个整数,表示手机上连接的挂饰总和的最大值。
说明/提示
$1\leq N\leq 2000$。
$0\leq A_i\leq N(1\leq i\leq N)$。
$-10^6\leq B_i\leq 10^6(1\leq i\leq N)$。