D - Minimize Maximum Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 800

問題文

長さ N の整数列 A_0,A_1,\cdots,A_{N-1}B_0,B_1,\cdots,B_{N-1} が与えられます。

全ての k (2 \leq k \leq N) について、次の問題を解いてください。

  • 整数列 C_0,C_1,\cdots,C_{k-1} をつくる。 ここで、全ての i (0 \leq i \leq k-1) について、A_i \leq C_i \leq B_i を満たさなくてはならない。 「C_{i+1}-C_i (0 \leq i \leq k-2) の最大値」としてありうる最小の値はいくらか。

制約

  • 1 \leq N \leq 2 \times 10^5
  • 0 \leq A_i \leq B_i \leq 10^9
  • 入力される値はすべて整数である。

入力

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

N
A_0 A_1 \cdots A_{N-1}
B_0 B_1 \cdots B_{N-1}

出力

N-1 行出力せよ。i (1 \leq i \leq N-1) 行目には、k=i+1 のときの問題の答えを出力せよ。


入力例 1

4
0 0 1 2
2 1 3 3

出力例 1

-2
0
1

k について、「C_{i+1}-C_i の最大値」が最小になる整数列 C の例を示します。

  • k=2: C=(2,0)
  • k=3: C=(1,1,1)
  • k=4: C=(1,1,1,2)

入力例 2

10
24 8 6 8 13 25 4 1 4 7
100 89 65 46 66 58 22 16 11 10

出力例 2

-92
-47
-30
-21
-10
-10
-10
-8
-4