以下のような解法は正しくないため注意してください。

  • tt の中央値付近を xx として全探索する。
反例
2
1 1
0 100
  • xx について三分探索を行う。
反例
5
10 9 10 9 10
100 200 300 400 500

正しい解法

この問題の制約より、スコアが最大化される xx0x1050 \leq x \leq 10^5 であることは明らかです。

この問題の以下のケースについて、各 xx のスコアを観察してみましょう。

ケース
1
3
4
各xのスコア
x = 0: 0
x = 1: 0
x = 2: 1
x = 3: 2
x = 4: 3
x = 5: 2
x = 6: 1
x = 7: 0
...

x=A1x = A_1 を中心として一次関数でスコアが表せそうなことが分かります。

よって、各 ii について、以下の加算を行い、前から累積和をとることによって各 xx についての増加分を求めることができます。

  • tiAi+1t_i - A_i + 1+1+1 をする。
  • ti+1t_i + 12-2 をする。
  • ti+Ai+1t_i + A_i + 1+1+1 をする。

以上の手順により、各 xx についての増加分を求め、再び累積和を取ることにより 各 xx についてのスコアを求めることができ、その最大値を出力すればよいです。