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

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

题目描述

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

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

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

  • x をみたす領域 x\ をみたす領域
  • x > xi x\ >\ x_i をみたす領域
  • y をみたす領域 y\ をみたす領域
  • y > yi y\ >\ y_i をみたす領域

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

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

输入格式

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

W W H H N N x1 x_1 y1 y_1 x2 x_2 y2 y_2 : : xN x_N yN y_N

输出格式

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

题目大意

平面上有一个左下角坐标 (0,0)(0,0) 右上角坐标 (W,H)(W,H) 的矩形,起初长方形内部被涂白。

现在给定 nn 个点,你每次在以下 44 种操作中选择一种:

  • 将矩形内 x<xix<x_i 的区域涂黑

  • 将矩形内 x>xix>x_i 的区域涂黑

  • 将矩形内 y<yiy<y_i 的区域涂黑

  • 将矩形内 y>yiy>y_i 的区域涂黑

现在你需要最大化操作后白色矩阵周长。

10 10 4
1 6
4 1
6 9
9 4
32
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

提示

制約

  • 1  W, H  108 1\ ≦\ W,\ H\ ≦\ 10^8
  • 1  N  3 × 105 1\ ≦\ N\ ≦\ 3\ \times\ 10^5
  • 0  xi  W 0\ ≦\ x_i\ ≦\ W (1  i  N 1\ ≦\ i\ ≦\ N )
  • 0  yi  H 0\ ≦\ y_i\ ≦\ H (1  i  N 1\ ≦\ i\ ≦\ N )
  • W W , H H (21:32 追記), xi x_i , yi y_i は整数である
  • i  j i\ ≠\ j ならば xi  xj x_i\ ≠\ x_j かつ yi  yj y_i\ ≠\ y_j である

Sample Explanation 1

このケースでは、すぬけ君は以下の図のように長方形を塗りつぶすと残った白い長方形の周長が 32 32 となり、これが最大値である。 ![842bb3939c9721d978d4e122b0bfff55.png](https://atcoder.jp/img/arc063/842bb3939c9721d978d4e122b0bfff55.png)