Dotcpp  >  编程题库  >  信息学奥赛一本通T1430-家庭作业
题目 2343:

信息学奥赛一本通T1430-家庭作业

时间限制: 2s 内存限制: 192MB 提交: 274 解决: 32

题目描述

老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分。每个作业的截止日期和学分可能是不同的。例如如果一个作业学分为10,要求在6天内交,那么要想拿到这10学分,就必须在第6天结束前交。

每个作业的完成时间都是只有一天。例如,假设有7次作业的学分和完成时间如下:

作业号  1 2 3 4 5 6 7

期限      1 1 3 3 2 2 6

学分      6 7 2 1 4 5 1

最多可以获得15学分,其中一个完成作业的次序为2,6,3,1,7,5,4,注意可能d还有其他方法。

你的任务就是找到一个完成作业的顺序获得最大学分。

输入格式

第一行一个整数N,表示作业的数量。

接下来N行,每行包括两个整数,第一个整数表示作业的完成期限,第二个数表示该作业的学分。

输出格式

输出一个整数表示可以获得的最大学分。保证答案不超过longint范围。

样例输入

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

样例输出

15

提示

对于 20% 的数据,N <= 10^3;

对于 40% 的数据,N <= 10^4;

对于 60% 的数据,N <= 10^5;

对于 100% 的数据,N<= 10^6,作业的完成期限均小于 7x 10^5。

标签