测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A339. 闯关游戏

编程题 普及-
知识点

题目描述

闯关类游戏节目在前些年特别的火爆,各个卫视都有这一类的节目。节目中的参赛选手如果稍微失误就会落水。不过随着观众要求的提高闯关类的节目也要创新,要获得收视率就要相处更好的方式观众才会买账。现在,CCFtv 决定搞一档全国独一无二的闯关节目,导演组决定在选手们常见的关卡之外设计一个新的关卡。

这个关卡将 $n$个高低不同的柱子排成一排,每个柱子上面都有一张卡片,卡片上写着跳到这个柱子选手将获得多少分数。选手要从这个关卡的起点跳到终点,选手们只能往终点跳跃,不能往回跳。导演组为了增加节目效果规定了选手每次跳跃的柱子高度差不能超过 $m$ 米。

现在导演组想请你设计一个程序帮助导演组计算一位参赛选手最多能在这个关卡获得多少分。

输入格式

第一行给定两个 $n$ 和 $m$,代表这个关卡有多少柱子和每次跳跃的两根柱子间的高度差不能超过 $m$ 米。
接下来有 $n$ 行,每行两个整数$h_i$和$S_i$代表第 $i$ 根柱子的高度和跳到这个柱子所能获得的分数。

输出格式

一行一个整数,代表这个关卡选手能获得的最大分数。

输入输出样例

输入 #1
4 4
1 0
2 100
100 5
6 10
输出 #1
110

说明/提示

对于$30\%$的数据: $n \le 5000$

对于$100\%$的数据:$1\le n \le 200000,1 \le m \le 500$

对于每根柱子的$h_i,s_i, 1 \le h_i \le 1000000,1 \le s_i \le 1000000$
上一题 去做题 下一题