O - ペンギンくんの仕事計画 Editorial /

Time Limit: 3 sec / Memory Limit: 1024 MB

配点 : 600

問題文

ペンギンくんはこれから N 個の仕事をしなければなりません。i\ (1 \leq i \leq N) 個目の仕事は、明日を 1 日目として L_i 日目から R_i 日目までの R_i-L_i+1 日間からちょうど 1 日を選び、その日を丸一日使って行う必要があります。丸一日使うとある通り、彼は 1 日に複数の仕事をこなすことはできません。

ペンギンくんが i 個目の仕事を D_i 日目に行うとき、彼の かなしさ は以下のように定義されます。

  • S=(D_1,D_2,\ldots,D_N) を昇順に並び替えた数列を S' として、\max_{1 \leq i \lt N} (S'_{i+1}-S'_i)

ペンギンくんのかなしさを最小化してください。ただし、そもそもペンギンくんが N 個の仕事全てを行うことができない場合、-1 を出力してください。

制約

  • 2 \leq N \leq 10^5
  • 1 \leq L_i \leq R_i \leq 10^9
  • 入力は全て整数

入力

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

N
L_1 R_1
L_2 R_2
\hspace{0.6cm}\vdots
L_N R_N

出力

ペンギンくんが N 個の仕事全てを行うことができる場合は彼のかなしさの最小値を、できない場合は -1 を出力せよ。


入力例 1

3
1 3
2 3
3 5

出力例 1

1

例えば、

  • 1 個目の仕事を 3 日目に
  • 2 個目の仕事を 2 日目に
  • 3 個目の仕事を 4 日目に

行うことで、ペンギンくんのかなしさは 1 になります。ペンギンくんは 1 日に複数の仕事を行えないため、これが最小値となります。


入力例 2

3
1 1
2 2
1 2

出力例 2

-1

ペンギンくんは N 個の仕事全てをこなすことができません。


入力例 3

8
157966192 957651261
451709097 715397956
273397483 342666952
165622095 585411299
749846702 972016434
8431836 421375441
459940001 999343267
7784836 829109033

出力例 3

58168536

原案: penguinman