#1508. 「一本通 1.1 练习 4」家庭作业

「一本通 1.1 练习 4」家庭作业

题目描述

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

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

作业号 期限 学分
11 11 66
22 77
33 33 22
44 11
55 22 44
66 55
77 66 11

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

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

输入格式

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

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

输出格式

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

样例

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

数据范围与提示

  • 对于 20%20\% 的数据:N103N \leq 10^3
  • 对于 40%40\% 的数据:N104N \leq 10^4
  • 对于 60%60\% 的数据:N105N \leq 10^5
  • 对于 100%100\% 的数据:N106N \leq 10^6,作业的完成期限均小于 7×1057\times 10^5

来源

一本通 1.1 练习 4