#OIS1009. 夏老师的任务

夏老师的任务

题目描述

你是一名网瘾少年,在工大度过了碌碌无为四年,你的家人对你失望透顶不再给予你经济上的支持,如今你将要踏入社会开始工作。在你最无助的时候学校的一位夏老师给了你最后的希望,夏老师想试试你的打工能力并且给了你nn份工作,每份工作有三种状态:“已完成”、“未完成”、“无法完成”,每份工作在开始时都是未完成的状态。每份工作有两个数值αiα_{i}bib_{i}。其中bib_{i}代表完成这份工作所能获得的钱,αiα_{i}代表一种制约关系:当你完成了x份工作,那么所有αiα_{i}的值小于等于 xx的工作都会变成第三种状态“无法完成”,无法对这份工作进行任何操作。如果你能在nn份工作中赚到最多的的钱,夏老师会让你在他身边工作并保证你以后衣食无忧。请计算出你能赚的最多的钱。

请注意:

1.变成“无法完成”的工作永远不会被计算为“已完成“(即不会记入上述的xx中。如不理解可以看下面的样例解释)

2.你已经完成的工作在变成“无法完成”后你依然可以保留赚到的钱

输入格式

输入的第一行是一个整数tt(1t1041 \le t \le 10^4) ,表示tt组测试数据。

每组测试数据的第一行是一个整数nn(1n21051 \le n \le 2⋅10^5),表示工作的数量。

在接下来的nn行,每行有两个整数αiα_{i}bib_{i}(1αin1 \le α_{i} \le n1bi1091 \le b_{i} \le 10^9),表示第ii份工作的两个值。

保证所有测试用例的nn之和不超过21052·10^5

输出格式

对于每个测试用例,输出一个整数——你可以赚到最多的钱

样例

4
4
2 2
1 6
1 10
1 13
5
3 4
3 1
2 5
3 2
3 3
6
1 2
3 4
1 4
3 4
3 5
2 3
1
1 1
15
14
20
1

样例解释

在第一个测试用例n=4n=4。获得最多钱的方法之一如下:

完成第四份工作,赚得bi=13b_{i}=13

已完成的工作数量是1,所以所有ai1a_{i} \le 1的工作(即工作2,3,4)变为不可完成状态,第四份工作变成不可完成状态所以已完成工作的数量变为0。

现在你唯一能完成的只有工作1(因为其他所有工作都变为不可完成状态),完成工作1后你赚得bi=2b_{i}=2元。

已完成工作的数量变成1,因为ai=2a_{i}=2,工作1不会变成不可完成状态。

你总共获得13+2=1513 + 2 = 15元,这就是你能获得的最多的钱。