QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#15851. Gallivanting Merchant

الإحصائيات

《I Can Program C++!》是一款由竞技编程社区众筹开发的全新寓教于乐类电子游戏。其目标是向 3 到 4 岁的儿童传授段错误、内存泄漏和移动语义的奇妙之处!

开发者为游戏选择了奇幻 RPG 的背景。你将扮演一名编程巫师,利用编程的力量击败巨龙、暴君以及邪恶的化身!哇!听起来真有趣!

每天,你都可以在城里选择不同的活动。这包括仅在特定日期发生的特殊事件,因此我们将游戏内的天数编号为 1, 2, 3, 4, ....。

其中一个特殊事件是出现一位商人,他出售有助于你编程之旅的稀有独家物品,例如 RGB 键盘、电竞椅和脑细胞。

根据以下规则,该商人仅在特定日期出现:你可以选择商人第一次出现的日期,从那时起,商人每 $k$ 天出现一次。形式化地说,$k$ 的值是固定的,但你可以要求商人第一次在某一天 $s$ 出现,这意味着商人会在 $s, s+k, s+2k, s+3k, \dots$ 这些天出现。

商人的商品也会根据日期而变化!商人有 $n$ 种不同的待售物品,每种物品仅在一段时间内出售。第 $i$ 种物品仅在第 $L_i$ 天到第 $R_i$ 天(包含边界)期间出售。当然,只有当商人在某件物品的出售日期内出现时,你才能购买该物品。

给定 $k$ 以及每种物品的描述。如果你能最优地选择 $s$(商人第一次到达的日期),那么你能从商人那里获得的最大不同物品数量是多少?

输入格式

输入的第一行包含两个空格分隔的整数 $n$ 和 $k$。

接下来 $n$ 行,其中第 $i$ 行包含两个空格分隔的整数 $L_i$ 和 $R_i$。

数据范围

  • $1 \le n \le 2 \cdot 10^5$
  • $1 \le k \le 10^9$
  • $1 \le L_i \le R_i \le 10^9$ 对于每个 $i$

输出格式

输出一个整数,表示你能从商人那里获得的最大不同物品数量。

样例

输入 1

3 5
2 6
6 11
16 21

输出 1

3

输入 2

8 4
2 4
9 10
1 2
4 5
5 7
2 10
11 11
11 13

输出 2

6

输入 3

4 100
100 101
101 102
102 103
103 104

输出 3

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.