2861 - 限时任务

题目描述

A 是一家游戏公司的程序员,他正在设计一款新的时间管理类游戏。

在游戏中,玩家需要在一系列的任务中选择部分或者所有任务,逐个完成。

每个任务都有截止时间和对应的奖励分数,完成每个任务需要消耗一个单位的时间

如果当前时间未超过某任务的截止时间,玩家可以选择执行该任务。如果当前时间超过某任务的截止时间,该任务自动失效,无法选择执行该任务。

现给出某关卡中,N 个任务的奖励分数和截止时间。请编程计算出,在该关卡中,玩家最多可以获得多少奖励分数。

输入

第一行,输入一个整数 N,表示任务的数量。

接下来 N 行,每行两个整数 V_iT_i,分别表示第 i 个任务的奖励分数和截止时间。

输出

输出一个整数,表示玩家最多可以获得的总分数。

样例

输入

5
12 4
7 4
8 1
2 1
3 3

输出

30

输入

10
4 4
2 1
2 8
1 2
10 5
10 3
9 5
10 1
3 7
8 4

输出

52

输入

30
52 82
24 14
75 41
20 91
79 51
65 87
25 34
5 14
1 21
53 57
82 21
34 80
17 25
25 44
82 31
55 85
49 42
17 29
94 54
21 15
93 77
43 17
62 29
76 37
93 58
78 3
59 84
41 44
34 3
23 16

输出

1477
说明

样例 1 说明

以下是得到样例 1 的最优解的策略。

  • 在时刻 1,玩家选择完成第 3 个任务,得到 8 分。
  • 在时刻 2,玩家选择完成第 5 个任务,得到 3 分。
  • 在时刻 3,玩家选择完成第 1 个任务,得到 12 分。
  • 在时刻 4,玩家选择完成第 2 个任务,得到 7 分。

因此,玩家共可以获得 8+3+12+7=30 分。

数据范围

对于 10\% 的测试点,满足所有的 T_i 互不相等。

对于 30\% 的测试点,满足 1 \le N \le 3000

对于 80\% 的测试点,满足 1 \le N \le 10000

对于 100\% 的测试点,满足 1 \leq N \le 1000001 \leq V_i \le 10001 \le T_i \leq 10000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 1 枚
难度 基础


上一题 下一题