atcoder#AGC025C. [AGC025C] Interval Game

[AGC025C] Interval Game

配点 : 700700

問題文

高橋君と青木君は数直線と区間を使ってゲームをすることにしました。 高橋君は数直線上に立っており、最初は座標 00 にいます。 また、青木君は NN 個の区間を持っており、ii 個目の区間は [Li,Ri][L_i,R_i]、つまり座標が LiL_i 以上 RiR_i 以下の点からなる区間となっています。

このゲームは NN 回のステップからなります。ii ステップ目では以下の手順を踏みます。

  • まず青木君は、NN 個の区間の内、まだ選んでいない区間を一つ選び、その区間を高橋君に伝える。
  • 次に高橋君は、青木君が今回選んだ区間に入るように、数直線上を移動する。

NN 回のステップを終えた後、高橋君が座標 00 まで戻ることでゲームは終了します。

高橋君がゲーム全体を通して移動する距離の合計を KK としたとき、青木君は KK ができるだけ大きくなるように区間を選び、 高橋君は KK ができるだけ小さくなるように移動します。 このとき、最終的に高橋君の移動距離の合計 KK はいくつになるでしょうか。

制約

  • 1N1051 \leq N \leq 10^5
  • 105Li<Ri105-10^5 \leq L_i < R_i \leq 10^5
  • LiL_iRiR_i は整数

入力

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

NN

L1L_1 R1R_1

:

LNL_N RNR_N

出力

高橋君と青木君が上記の条件に従って行動するときの高橋君が動く距離の合計を、11 つの整数値として出力せよ。 ただし、Li,RiL_i,R_i が整数であるとき、KK が整数となることは保証されている。

3
-5 1
3 7
-4 -2
10

高橋君と青木君の行動の一例は以下のようになります。

  • 青木君が 11 番目の区間を選び、高橋君は座標 00 から座標 4-4 まで距離 44 だけ移動する。
  • 青木君が 33 番目の区間を選び、高橋君は座標 4-4 のまま動かない
  • 青木君が 22 番目の区間を選び、高橋君は座標 4-4 から座標 33 まで距離 77 だけ移動する。
  • 高橋君は座標 33 から座標 00 まで距離 33 だけ移動する。

このとき高橋君の移動距離の合計は 1414 になってしまうので、高橋君の行動は最適ではないですが、 動き方を変えることで、移動距離の合計を 1010 にすることができます。

3
1 2
3 4
5 6
12
5
-2 0
-2 0
7 8
9 10
-2 -1
34