#AT1648. F - I hate Shortest Path Problem

F - I hate Shortest Path Problem

F - 我讨厌最短路径问题

评分:600 分

问题描述

有一个由 H+1H+1 行和 WW 列的方格网格。

你将从顶部的某个方格开始,重复向右或向下移动一个方格。然而,对于 11HH 之间的每个整数 ii,你不能从第 ii 行中的第 AiA_i(Ai+1)(A_i + 1)\ldotsBiB_i 列的方格向下移动。

对于从顶部的任何一个方格开始,找到到达第 (k+1)(k+1) 行中的任意一个方格所需的最小步数。如果从顶部的任何一个方格开始,都无法到达第 (k+1)(k+1) 行中的任何一个方格,则输出 -1

限制条件

  • 1H,W2×1051 \leq H,W \leq 2\times 10^5
  • 1AiBiW1 \leq A_i \leq B_i \leq W

输入

输入以以下格式从标准输入中给出。

HH WW

A1A_1 B1B_1

A2A_2 B2B_2

::

AHA_H BHB_H

输出

输出共 HH 行。第 ii 行应包含第 k=ik=i 个测试的答案。

示例

输入示例 1

4 4
2 4
1 1
2 3
2 4

输出示例 1

1
3
6
-1

(i,j)(i,j) 表示位于从上而下的第 ii 行和从左到右的第 jj 列的方格。

对于 k=1k=1,我们需要进行一步移动,如 (1,1)(1,1)(2,1)(2,1)

对于 k=2k=2,我们需要进行三步移动,如 (1,1)(1,1)(2,1)(2,1)(2,2)(2,2)(3,2)(3,2)

对于 k=3k=3,我们需要进行六步移动,如 (1,1)(1,1)(2,1)(2,1)(2,2)(2,2)(3,2)(3,2)(3,3)(3,3)(3,4)(3,4)(4,4)(4,4)

对于 k=4k=4,无法到达第五行任何一个方格。