AT_joisc2014_m ストラップ

题目描述

JOI 君有 $N$ 个装在手机上的挂饰,编号为$1 \dots N$。 JOI君可以将其中的一些装在手机上。 JOI 君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩。每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上。直接挂在手机上的挂件最多有 $1$ 个。 此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示。如果 JOI 君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数。 JOI 君想要最大化所有挂饰的喜悦值之和。注意不必要将所有的挂钩都挂上挂饰,而且一个都不挂也是可以的。

输入格式

第一行一个整数 $N$,代表挂饰的个数。 接下来 $N$ 行,第 $i$ 行($1 \le i \le N$)有两个空格分隔的整数 $A_i$ 和 $B_i$,表示挂饰 $i$ 有 $A_i$ 个挂钩,安装后会获得 $B_i$ 的喜悦值。

输出格式

输出一行一个整数,表示手机上连接的挂饰总和的最大值 ## 样例 #1 ### 样例输入 #1 ``` 5 0 4 2 -2 1 -1 0 1 0 3 ``` ### 样例输出 #1 ``` 5 ```

说明/提示

$1\leq N\leq 2000$ $0\leq Ai\leq N(1\leq i\leq N)$ $-10^6\leq Bi\leq 10^6(1\leq i\leq N)$