CASTLE - Xây dựng lâu đài

Giới hạn
  • Thời gian: 0.141s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 20000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

 

Vua Hùng Vương thứ 18 đang muốn xây dựng cho mình một lâu đài trên một khu đất ở Phú Thọ. Để cho đơn giản, ta sẽ tọa độ hóa khu đất theo hệ tọa độ Đề Các. Theo các kiến trúc sư, để đảm bảo các yêu cầu mỹ quan, lâu đài nên được xây theo hình chữ nhật có các cạnh song song trục toạ độ. Còn theo thuật phong thủy, các góc của lâu đài không thể xây đặt tuỳ ý mà chỉ có thể đặt ở một số vị trí. Nhà vua muốn xây lâu đài cho mình vừa đẹp lại vừa hợp phong thuỷ. Và bạn, một chuyên gia lập trình, được yêu cầu giúp đỡ nhà vua. Nhà vua còn muốn biết có bao nhiêu cách xây lâu đài, và trong đó có bao nhiêu cách xây có diện tích lớn nhất và có diện tích nhỏ nhất, các diện tích đó là bao nhiêu?

Lưu ý các bạn cài bài này phải cài thật tinh tế. Solution mẫu của tác giả bài này mình đã submit thử để đảm bảo nó bị chạy quá thời gian (Time Limit Exceeded, kích vào link xem All Submissions ở trên) . O(N^2) là thuật toán chuẩn, O(N^2*logN) nếu cài tốt thì cũng có thể accept.

Input

Dòng thứ nhất ghi số N là số điểm có thể đặt góc lâu đài.( 1 ≤ N ≤ 5000 )
N dòng sau ghi 2*N số nguyên là tọa độ N điểm có thể đặt góc lâu đài. ( Tọa độ của các điểm là các số nguyên có giá trị tuyệt đối nhỏ hơn 2^31 )

Output

Dòng thứ nhất ghi số M là số cách xây lâu đài.
Nếu M > 0, dòng thứ hai ghi 2 số SMAX, CMAX là diện tích lớn nhất của lâu đài và số lượng lâu đài có diện tích là SMAX.
Dòng thứ 3 ghi 2 số SMIN, CMIN là diện tích nhỏ nhất của lâu đài và số lượng lâu đài có diện tích là SMIN.

Example

Input:
8
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2

Output:
5
2 2
1 3


  • Người up: hard7771988
  • Nguồn bài: AGAMES 2004