IOI 2005 - Garden

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2000 (p) Thời gian: 0.5s Bộ nhớ: 32M Input: bàn phím Output: màn hình

Byteman sở hữu khu vườn đẹp nhất Bytetown và đã trồng \(n\) cây hoa hồng trong vườn. Mùa hè đến, hoa đã lớn và nở rất đẹp, nhưng ông nhận ra mình không thể tự chăm sóc tất cả. Ông quyết định thuê hai người làm vườn và chọn hai khu vực hình chữ nhật, mỗi người phụ trách hoa hồng trong một khu vực. Hai khu vực không được có ô chung và mỗi khu vực phải chứa đúng \(k\) cây hoa hồng.

Byteman muốn dựng hàng rào quanh cả hai khu vực. Vì kinh phí hạn hẹp, ông muốn tổng chiều dài hàng rào nhỏ nhất có thể.

Khu vườn là một hình chữ nhật dài \(l\) mét, rộng \(w\) mét, được chia thành \(l\cdot w\) ô vuông kích thước \(1\times 1\) mét. Chọn hệ tọa độ có các trục song song với các cạnh của khu vườn. Mỗi ô có tọa độ nguyên \((x,y)\) với \(1\le x\le l\)\(1\le y\le w\). Một ô có thể chứa nhiều cây hoa hồng.

Các khu vực cần chọn có cạnh song song với các cạnh của khu vườn. Với \(1\le l_1\le l_2\le l\)\(1\le w_1\le w_2\le w\), khu vực có các ô ở bốn góc là \((l_1,w_1)\), \((l_1,w_2)\), \((l_2,w_1)\)\((l_2,w_2)\) chứa tất cả các ô \((x,y)\) thỏa mãn \(l_1\le x\le l_2\)\(w_1\le y\le w_2\). Chu vi của khu vực này là \(2(l_2-l_1+1)+2(w_2-w_1+1)\).

Hai khu vực không được chứa chung bất kỳ ô nào. Chúng có thể chung một cạnh hoặc một phần cạnh, nhưng vẫn phải được bao quanh bởi hai hàng rào riêng biệt; phần ranh giới chung được tính cho cả hai hàng rào.

Hãy tìm tổng chu vi nhỏ nhất của hai khu vực thỏa mãn các điều kiện trên, hoặc xác định rằng không tồn tại cách chọn như vậy.

Dữ liệu vào

Đọc từ đầu vào chuẩn:

  • Dòng đầu chứa hai số nguyên \(l,w\), lần lượt là chiều dài và chiều rộng khu vườn.
  • Dòng thứ hai chứa hai số nguyên \(n,k\), lần lượt là tổng số cây hoa hồng và số cây cần có trong mỗi khu vực.
  • \(n\) dòng tiếp theo mô tả vị trí các cây hoa hồng. Dòng thứ \(i+2\) chứa hai số nguyên \(l_i,w_i\), là tọa độ ô chứa cây thứ \(i\). Hai hoặc nhiều cây có thể nằm trong cùng một ô.

Các số trên cùng một dòng được phân cách bởi một dấu cách.

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa đúng một số nguyên: tổng chu vi nhỏ nhất của hai khu vực không có ô chung, mỗi khu vực chứa đúng \(k\) cây hoa hồng. Nếu không tồn tại hai khu vực như vậy, ghi từ NO.

Ràng buộc

  • \(1\le l,w\le 250\).
  • \(2\le n\le 5000\).
  • \(1\le k\le n/2\).
  • \(1\le l_i\le l\)\(1\le w_i\le w\) với mọi \(1\le i\le n\).

Phân nhóm

Trong \(50\%\) số bộ dữ liệu kiểm tra, cả hai kích thước khu vườn đều thỏa mãn \(l,w\le 40\).

Ví dụ

Ví dụ 1

Input
6 5
7 3
3 4
3 3
6 1
1 1
5 5
5 5
3 1
Output
22
Note

Hình dưới minh họa vị trí các cây hoa hồng và hai khu vực được rào trong ví dụ.

Nguồn

IOI 2005.

Tệp

Bình luận

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

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

Kỳ thi: