2884 「JOISC 2014 Day4」挂饰

内存限制:256 MB 时间限制:1000 ms

题目描述

题目译自 JOISC 2014 Day4 T3「ストラップ」

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

输入格式

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

输出格式

输出一行,一个整数,表示手机上连接的挂饰总和的最大值。

样例 1

挂饰 $2$ 直接挂在手机上,然后将挂饰 $1$ 和挂饰 $5$ 分别挂在挂饰 $2$ 的两个挂钩上,可以获得最大喜悦值 $4-2+3=5$。

样例 2

允许一个挂饰都不挂。

样例 3

数据范围与提示

对于 $5\%$ 的数据,$N\le 15$。
对于另外 $5\%$ 的数据,$B_i\le 0$。
对于另外 $15\%$ 的数据,$A_i\le 15$。
对于所有数据,$1\le N\le 2000,$ $0\le A_i\le N,$ $-10^6\le B_i\le 10^6$。

样例

样例输入 1

5 0 4 2 -2 1 -1 0 1 0 3

样例输出 1

5

样例输入 2

6 2 -3 3 -1 0 -4 0 -2 1 -3 4 -1

样例输出 2

0

样例输入 3

15 1 -4034 1 3406 0 6062 4 -6824 0 9798 0 4500 0 -1915 1 2137 0 9786 0 7330 0 -9365 2 2730 0 -5797 0 6129 0 8925

样例输出 3

43417