atcoder#ABC177F. [ABC177F] I hate Shortest Path Problem

[ABC177F] I hate Shortest Path Problem

配点 : 600600

問題文

H+1H+1 マス横 WW マスのマス目があります。

あなたは一番上のいずれかのマスから始めて右か下に一マス移動することを繰り返します。ただし、11 以上 HH 以下のそれぞれの整数 ii について、グリッドの上から ii マス目の左から AiA_i マス目、Ai+1A_i + 1 マス目、\ldotsBiB_i マス目のマスからは下に移動することができません。

11 以上 HH 以下のそれぞれの整数 kk について、上から k+1k+1 マス目のいずれかのマス目まで移動するための最小の移動回数を求めてください。(出発するマスは各場合について個別に選ぶことができます。) 一番上のどのマスから始めても上から k+1k+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 のときの答えを出力せよ。

4 4
2 4
1 1
2 3
2 4
1
3
6
-1

上から ii マス目、左から jj マス目のマスをマス (i,j)(i,j) とします。

k=1k=1 のとき、マス (1,1)(1,1)(2,1)(2,1) のように 11 回で移動できます。

k=2k=2 のとき、マス (1,1)(1,1)(2,1)(2,1)(2,2)(2,2)(3,2)(3,2) のように 33 回で移動できます。

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) のように 66 回で移動できます。

k=4k=4 のとき、上から 55 マス目のマスに移動する方法はありません。