题库练习 聪明的木匠

A71458 | 聪明的木匠

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

小镇上有一条笔直的街道,街道的每个整数点上住着一户人家,从位置 0 开始,到位置 1018 结束。

在街道的位置 0 处住着本镇唯一的木匠,他为人善良、勤劳朴实,而且很聪明,镇上的家家户户,只要家具、木器坏了,都会打电话找木匠来修。

一天木匠接到了 N 户人家的维修电话。他工整的在自己的本子上整理出了要去维修的每户人家的位置 X_i,并根据来电描述的损坏情况评估了在每户人家维修所需要的时间 T_i

木匠在街道上行走,每走一个单位的距离,需要消耗一个单位的时间,从第 i 户人家的位置 X_i 走到 第 j 户人家的位置 X_j,他所需要的行走时间为 |X_i - X_j|

木匠看了看手表,估算了一下,现在出发到天黑只有 M 个单位的时间了,他必须在天黑之前尽可能给更多的人家维修,维修完最后一户人家,主人会热情的招待木匠住在他家,一起吃饭。因此你不用考虑木匠回家的时间,只需要让木匠在 M 个单位的时间内,尽可能帮助更多的人家完成维修工作。

请编程计算出,如果木匠选择部分人家来维修,最多能完成多少户人家的维修工作。

输入格式

1 行读入 2 个整数 NM,含义如题所述。

接下来 N 行,每行读入 2 个整数 X_iT_i 表示第 i 户打维修电话人家的位置,及木匠评估为该户维修所需的时间。

输出格式

输出聪明的木匠,最多能够维修的户数。

输入输出样例

输入 #1
2 10
5 5
1 100
输出 #1
1
C++ 编辑器
输入
输出