A101793.午枫打砖块

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小午和小枫迷上了一款叫做《打砖块》的游戏。

在这个游戏中,一共有 nn 行砖块,每行都有 10910^9 个砖块,其中有 nn 组奖励砖,每组奖励砖从 11nn 编号,第 ii 组奖励砖位于第 ii 行,从左起第 lil_i 列到第 rir_i 列的范围。摧毁这些奖励砖才能够得到分数。

小午和小枫发射的弹球可以一次将连续的 dd 列内所有砖块都打碎。形式化地,每次可以选择一个 11109d+110^9-d+1 之间的整数 xx ,将第 xx 列到第 x+d1x+d-1 列范围内的所有砖块都摧毁。由于奖励砖是连在一起的大砖块,所以奖励砖只要被摧毁某一块小砖块就会被整个摧毁。

请问小午和小枫至少需要发射多少次弹球才能摧毁所有的奖励砖?

输入格式

第一行输入两个整数 n,dn,d ,分别表示砖块的行数和发射一次能够摧毁的列数。

接下来 nn 行,每行输入两个整数 li,ril_i,r_i ,分别表示第 ii 行奖励砖的范围。

输出格式

输出一个整数,表示摧毁所有奖励砖需要发射的最少次数。

输入输出样例

  • 输入#1

    3 3
    1 2
    4 7
    5 9

    输出#1

    2
  • 输入#2

    3 3
    1 2
    4 7
    4 9

    输出#2

    1

说明/提示

样例解释

样例解释 1

下图展示了与输入样例 11 对应的砖块分布。

例如,可以按照如下方式进行发射弹球,仅用 22 次即可摧毁所有的奖励砖。

  • 首先,将 [2,4][2, 4] 列摧毁。位于 [2,4][2, 4] 的奖励砖 11 和奖励砖 22 被摧毁。
  • 然后将 [5,7][5, 7] 列摧毁。位于 [5,7][5, 7] 的墙 33 受到伤害,被摧毁。

样例解释 2

与输入输出样例 11 相比,奖励砖 33 的范围从 [5,9][5, 9] 变成了 [4,9][4, 9]
在这种情况下,只需对 [2,4][2, 4] 进行一次拳击即可摧毁所有的墙。

数据范围

对于 100%100\% 的数据,满足:1n2×105,1d109,1liri1091\leq n\leq 2\times 10^5,1\leq d\leq 10^9,1\leq l_i\leq r_i\leq 10^9

首页