游戏通关
题目描述
Smart 经常在机房里偷偷玩游戏,于是他也经常被老师批评。但屡次的批评一点作用也没有,你看他又开始玩起了游戏。
这次 Smart 可碰上难题了,因为据可靠的线报老师在不久后就回来机房,但 Smart 需要完成 \(N\) 个任务才能将这个游戏通关。
每个任务完成时限 \(T\),就是这个任务必须在时间 \(T\) 之前完成(你可以认为游戏刚开始的时间为\(1\)),还有完成这个任务 Smart 可以获得一定的奖励\(W\)。由于 Smart 娴熟的技术以及任务的简单,他可以在一个单位时间将任务完成。
Smart 想要在老师到来之前将任务全部完成,同时他也想获得最多的奖励。这个他本来可以编程自己完成的,但是为了能马上将游戏通关,他需要全神贯注进去。于是他没有空编程计算,于是他希望你能帮助他将问题的答案计算出来。
格式
输入格式
第一行有一个整数 \(N\) ,表示需要完成的任务数目;
接下来 \(N\) 行,每行两个整数\(T,W\)(中间用一个空格隔开),分别表示完成这个任务的最后期限和完成这个任务后获得的奖励。
输出格式
输出数据有且仅有一行,只包含一个整数\(S\),表示最多获得的奖励。
样例1
样例输入1
5
2 3
1 2
4 5
1 3
3 4
样例输出1
15
样例解释
Smart 可以选择完成任务\(1,3,4\)和\(5\),这样他可以获得奖励\(15\)。
限制
\(10\%\)的数据:\(N≤100,Ti≤100,Wi≤2000\);
\(30\%\)的数据:\(N≤1000,Ti≤5000,Wi≤2000\);
\(50\%\)的数据:\(N≤10000,Ti≤20000,Wi≤2000\);
\(100\%\)的数据:\(N≤200000,Ti≤200000,Wi≤2000 \)。