atcoder#ARC063D. [ARC063F] すぬけ君の塗り絵 2

[ARC063F] すぬけ君の塗り絵 2

配点 : 16001600

問題文

xyxy 平面上に、左下の頂点の座標が (0,0)(0, 0)、右上の頂点の座標が (W,H)(W, H) で、各辺が xx 軸か yy 軸に平行な長方形があります。最初、長方形の内部は白く塗られています。

すぬけ君はこの長方形の中に NN 個の点を打ちました。ii 個目 (1iN1 \leq i \leq N) の点の座標は (xi,yi)(x_i, y_i) でした。

すぬけ君は各 1iN1 \leq i \leq N に対し、長方形の

  • x<xix < x_i をみたす領域
  • x>xix > x_i をみたす領域
  • y<yiy < y_i をみたす領域
  • y>yiy > y_i をみたす領域

44 つの中から 11 つを選び、その領域を黒く塗ります。

塗りつぶしが終わったあとに残る白い長方形の周長を最大化するように塗る領域を選ぶとき、その最大の周長を求めてください。

制約

  • 1W,H1081 \leq W, H \leq 10^8
  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 0xiW0 \leq x_i \leq W (1iN1 \leq i \leq N)
  • 0yiH0 \leq y_i \leq H (1iN1 \leq i \leq N)
  • WW, HH (21:32 追記), xix_i, yiy_i は整数である
  • iji \neq j ならば xixjx_i \neq x_j かつ yiyjy_i \neq y_j である

入力

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

WW HH NN

x1x_1 y1y_1

x2x_2 y2y_2

::

xNx_N yNy_N

出力

塗りつぶしが終わったあとに残る白い長方形の周長の最大値を出力せよ。

10 10 4
1 6
4 1
6 9
9 4
32

このケースでは、すぬけ君は以下の図のように長方形を塗りつぶすと残った白い長方形の周長が 3232 となり、これが最大値である。

842bb3939c9721d978d4e122b0bfff55.png

5 4 5
0 0
1 1
2 2
4 3
5 4
12
100 100 8
19 33
8 10
52 18
94 2
81 36
88 95
67 83
20 71
270
100000000 100000000 1
3 4
399999994