题目 5009

楼间跳跃

查看题解 ↗GitHub ↗如何评测
题号
5009
时间限制
2000 ms
内存限制
256 MB
标签
贪心
来源
信息学奥赛一本通 · 高手训练篇·一、基础算法(高手训练)

【题目描述】

在一条街道上有nn栋楼,第ii栋有hih_i层,每层都有价值为viv_i的物品。 Lyra可以花费一单位时间在同一栋楼中向上或向下走一层。特别地,每栋楼里都有一个大滑梯,只能从顶楼通往一楼,所以如果Lyra在顶层,可以花费一单位时间通过滑梯到达一楼(注意只有在顶楼才可以使用滑梯)。 Lyra还可以在不同的楼之间跳跃,即花费一单位时间从当前楼移动到相邻楼的同层,如果相邻楼没有Lyra当前位置高,则会落到相邻楼的顶层。 初始时Lyra在第一栋楼的顶层,她有mm单位时间可以移动,Lyra拿去物品不需要时间,且一个物品被拿一次之后就会消失。 Lyra想知道她能获得的总价值最多是多少?

【输入】

第一行两个正整数n,mn,m。 以下nn行每行两个整数表示hih_i和viv_i。 提示:输入数据较大,请采用快速的读入方式。

【输出】

输出一行一个整数表示最大的总价值。

【输入样例】

文本
3 3
2 1
1 5
3 4

【输出样例】

文本
14

【提示】

【数据规模及约定】 对于20%的数据,Σhi≤20Σh_i≤20。 对于另外10%的数据,vi=1v_i=1。 对于另外30%的数据,Σhi≤1000Σh_i≤1000。 对于另外20%的数据,n,hi≤105n,h_i≤10^5。 对于100%的数据,n,hi≤106n,h_i≤10^6。

数据下载

题目 5009 的公开数据

正在读取文件列表…

常用命令

题目 5009 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。