#P646. OJ作业

OJ作业

题目描述

注册一本通账号时,系统就会规划好所有 OJ 题目,每个 OJ 题目如果在规定的时间内交上来的话才有 OJ 积分。每个 OJ 题目的截止日期和 OJ 积分可能是不同的。例如如果一个 OJ 题目的 OJ 积分为 1010,要求在 66 天内提交,那么要想拿到这 1010 积分,就必须在第 66 天结束前交。

每个题目的完成时间都是只有一天。例如,假设有 77 次题目的积分和完成时间如下:

OJ 题目号 期限 OJ 积分
1 1 6
2 7
3 3 2
4 1
5 2 4
6 5
7 6 1

最多可以获得 1515 积分,其中一个完成题目的次序为 2,6,3,1,7,5,42, 6, 3, 1, 7, 5, 4,注意可能还有其他方法。

你的任务就是找到一个完成题目的顺序获得最多的 OJ 积分。

输入格式

第一行一个整数 XX,表示题目的数量;

接下来 XX 行,每行包括两个整数,第一个整数表示题目的完成期限,第二个数表示该题目的积分。

输出格式

输出一个整数表示可以获得的最大积分。保证答案不超过 C/C++int 范围。

样例

7
1 6
1 7
3 2
3 1
2 4
2 5
6 1
15

数据范围与提示

对于 20%20\% 的数据,X103X \le 10^3

对于 40%40\% 的数据,X104X \le 10^4

对于 60%60\% 的数据,X105X \le 10^5

对于 100%100\% 的数据,X106X \le 10^6,题目的完成期限均小于 7×1057 \times 10^5