AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3120. 吃火锅

中等通过率 52% · 提交 730 · 通过 377
贪心排序模拟

小慕入职后,导师请他吃饭,他选择了火锅。火锅里会在不同时间下很多菜,不同食材要煮不同时间才能变得。小慕希望吃到最多的刚好合适的菜,但他的捞菜不够快,用m表示手速,即每次下手捞菜后至少要过m秒才能再捞(每次只能捞一个)。那么,用,小慕最多能吃到多少刚好合适的菜。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 第一行两个整数n,m。其中n代表往锅里下菜的个数,m代表手速。 </p> <p> 接下来有n行,每行有两个数x,y。代表第x秒下的菜过y秒才能变得刚好合适 </p> <p> (1 < m, n < 1000),(1 < x, y < 1000) </p>

输出描述

输出一个整数代表用最合理的策略,最多能吃到刚好合适的菜的数量。

示例

示例 1

输入

2 1
1 2
2 1

输出

1

说明:一共下了两个菜,在第一秒下的菜,需要到第三秒吃。在第二秒下的菜,也要到第三秒吃,所以只能吃一个.

示例 2

输入

3 1
1 2
1 3
2 3

输出

3

说明:一共下了三个菜,每秒捞一个,第一个在第一秒下的菜,需要到第三秒吃,第二个在第一秒下的菜需要到第四秒吃,在第二秒下的菜,需要到第五秒吃,所以三个都能吃。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
吃火锅问题图解(样例1:n=2, m=1) 1秒 2秒 3秒 4秒 菜1下锅 菜2下锅 菜1合适(3秒) 菜2合适(3秒) 手速 m=1:每次捞后需等1秒 只能捞一个菜(两个都在3秒合适) 最多吃到:1个菜 下锅 合适可捞 冲突(同时合适)
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「吃火锅」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。