atcoder#ABC219H. [ABC219H] Candles

[ABC219H] Candles

配点 : 600600

問題文

無限に伸びる数直線の上に NN 本のろうそくが置かれています。 ii 番目のろうそくは座標 XiX_i にあり、時刻 00 には長さは AiA_i で、火がついています。 火のついたろうそくは 11 分あたり長さが 11 短くなり、長さが 00 になると燃え尽きてそれ以降長さは変わりません。また、火を消されたろうそくの長さは変わりません。

高橋君は時刻 00 に座標 00 にいて、毎分 11 以下の距離を移動することができます。高橋君は自分がいる座標と同じ座標にろうそくがある場合、そのろうそくの火を消すことができます。(同じ座標に複数ある場合はまとめて消すことができます。)ここで、ろうそくの火を消すのにかかる時間は無視できます。

高橋君が適切に行動したとき、時刻 00 から 1010010^{100} 分後に残っているろうそくの長さの総和としてあり得る最大の値を求めてください。

制約

  • 1N3001 \leq N \leq 300
  • 109Xi109-10^9 \leq X_i \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9
  • 入力は全て整数である。

入力

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

NN

X1X_1 A1A_1

X2X_2 A2A_2

::

XNX_N ANA_N

出力

答えを出力せよ。

3
-2 10
3 10
12 10
11

33 番目のろうそくは座標 1212 にあるため、高橋君の行動に関わらず火を消すより先に燃え尽きてしまいます。 残りの 22 本について、まず座標 2-222 分かけて移動して 11 本目のろうそくの火を消し、その後 55 分かけて座標 33 へ移動して 22 本目のろうそくの火を消すと、これ以降ろうそくの長さが変化することはありません。 それぞれのろうそくの長さは 102=810-2=81025=310-2-5=3 残り、このとき残った長さの総和は 8+3=118+3=11 となって、このときが最大です。 よって、 1111 を出力します。

5
0 1000000000
0 1000000000
1 1000000000
2 1000000000
3 1000000000
4999999994

同じ座標に 22 つ以上のろうそくが存在する可能性があること、答えが 3232 bit整数に収まらないことがあることに注意してください。