Tô màu nửa mặt phẳng

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một hình chữ nhật trong mặt phẳng tọa độ Oxy, các cạnh cùng phương với trục toạ độ, đỉnh dưới-trái tại điểm \((0,0)\) và đỉnh trên-phải tại điểm \((W,H)\). Ban đầu, toàn bộ vùng bên trong hình chữ nhật được tô màu trắng.
Có N điểm được đánh dấu bên trong hoặc trên biên hình chữ nhật. Tọa độ của điểm thứ \(i\ (i=1÷N)\)\((x_i,y_i )\).
Với mỗi điểm i, phải lựa chọn tô đen một trong bốn vùng sau:

  • Vùng thỏa mãn \(x<x_i\) nằm trong hình chữ nhật
  • Vùng thỏa mãn \(x>x_i\) nằm trong hình chữ nhật
  • Vùng thỏa mãn \(y<y_i\) nằm trong hình chữ nhật
  • Vùng thỏa mãn \(y>y_i\) nằm trong hình chữ nhật

Hãy tìm chu vi lớn nhất có thể của một vùng hình chữ nhật màu trắng nằm trong hình chữ nhật ban đầu sau khi hoàn thành tô màu.

Input

  • Dòng 1: ba số nguyên: \(W,H,N\) \((1≤W,H≤10^8;1≤N≤3×10^5 )\)
    Dòng \(2…N+1\): dòng \(i+1\) chứa hai số nguyên \(x_i,y_i\) \((0≤x_i≤W;0≤y_i≤H)\), không có hai điểm nào trùng nhau.

Output

  • Dòng \(1\): số nguyên là chu vi lớn nhất có thể của một vùng hình chữ nhật màu trắng còn lại sau khi hoàn tất việc tô màu.

Example

Test 1

Input
10 10 4
1 6
4 1
6 9
9 4
Output
32
Note

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.