atcoder#ARC060C. [ARC060E] 高橋君とホテル

[ARC060E] 高橋君とホテル

配点 : 700700

問題文

NN 軒のホテルが一直線上に並んでいます。i(1iN)i \, (1 \leq i \leq N) 番目のホテルは、座標 xix_i に位置しています。

旅行者である高橋君には、次の 22 つの信念があります。

  • 高橋君の 11 日の移動距離は LL を超えない。
  • 高橋君は野宿をしない。すなわち、11 日の終わりには必ずいずれかのホテルにいなければならない。

QQ 個のクエリが与えられます。j(1jQ)j\,(1 \leq j \leq Q) 番目のクエリとして、異なる 22 つの整数 aj,bja_j,\,b_j が与えられます。 各クエリについて、前述の信念をともに守った上で、高橋君が aja_j 番目のホテルから bjb_j 番目のホテルに移動するために必要な最小日数を求めてください。 なお、高橋君が aja_j 番目のホテルから bjb_j 番目のホテルに移動できることは保証されます。

制約

  • 2N1052 \leq N \leq 10^5
  • 1L1091 \leq L \leq 10^9
  • 1Q1051 \leq Q \leq 10^5
  • 1xi<x2<...<xN1091 \leq x_i < x_2 < ... < x_N \leq 10^9
  • xi+1xiLx_{i+1} - x_i \leq L
  • 1aj,bjN1 \leq a_j,b_j \leq N
  • ajbja_j \neq b_j
  • N,L,Q,xi,aj,bjN,\,L,\,Q,\,x_i,\,a_j,\,b_j はいずれも整数である

部分点

  • N103N \leq 10^3 および Q103Q \leq 10^3 を満たすデータセットに正解した場合は、200200 点が与えられる。

入力

入力は以下の形式で標準入力から与えられる。

NN

x1x_1 x2x_2 ...... xNx_N

LL

QQ

a1a_1 b1b_1

a2a_2 b2b_2

:

aQa_Q bQb_Q

出力

出力は QQ 行からなる。 j(1jQ)j \, (1 \leq j \leq Q) 行目には、高橋君が aja_j 番目のホテルから bjb_j 番目のホテルに移動するために必要な最小日数を表す整数を出力せよ。

9
1 3 6 13 15 18 19 29 31
10
4
1 8
7 3
6 7
8 5
4
2
1
2

11 つ目のクエリでは、次のように行動することで、11 番目のホテルから 88 番目のホテルへ 44 日間で移動することができます。

  • 11 日目には、11 番目のホテルから 22 番目のホテルへ移動する。この日の移動距離は 22 である。
  • 22 日目には、22 番目のホテルから 44 番目のホテルへ移動する。この日の移動距離は 1010 である。
  • 33 日目には、44 番目のホテルから 77 番目のホテルへ移動する。この日の移動距離は 66 である。
  • 44 日目には、77 番目のホテルから 88 番目のホテルへ移動する。この日の移動距離は 1010 である。