JOI 2014 - Scarecrows

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: 2200 (p) Thời gian: 4.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trên một vùng đất hoang rộng lớn ở làng JOI có \(N\) con bù nhìn. Mỗi năm vài lần, dân làng lại quây quần quanh những con bù nhìn để tổ chức lễ hội. Một hôm, trưởng làng JOI nói rằng mình đã nghe được lời phán truyền của những con bù nhìn và lập kế hoạch tạo một thửa ruộng trên vùng đất hoang. Theo lời phán truyền, thửa ruộng phải thỏa mãn các điều kiện sau:

  • Có hình chữ nhật, mỗi cạnh nằm theo hướng đông–tây hoặc nam–bắc.
  • Có một con bù nhìn đứng ở đỉnh phía tây nam và một con bù nhìn đứng ở đỉnh phía đông bắc.
  • Không có con bù nhìn nào đứng trong phần bên trong của thửa ruộng (không tính đường biên).

Tất nhiên, không được phép di chuyển những con bù nhìn quý giá này. Có bao nhiêu vị trí đặt thửa ruộng thỏa mãn lời phán truyền?

Yêu cầu

Cho vị trí của các con bù nhìn. Hãy viết chương trình tìm số vị trí đặt thửa ruộng thỏa mãn lời phán truyền.

Dữ liệu vào

Đọc dữ liệu từ đầu vào chuẩn theo định dạng sau:

  • Dòng đầu tiên chứa số nguyên \(N\), cho biết có \(N\) con bù nhìn.
  • Dòng thứ \(i\) trong \(N\) dòng tiếp theo (\(1 \le i \le N\)) chứa hai số nguyên \(X_i\), \(Y_i\), cách nhau bởi một dấu cách. Vùng đất hoang của làng JOI được biểu diễn trên mặt phẳng tọa độ \(xy\), với chiều dương của trục \(x\) hướng về phía đông và chiều dương của trục \(y\) hướng về phía bắc. Con bù nhìn thứ \(i\) đứng tại tọa độ \((X_i, Y_i)\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa số vị trí đặt thửa ruộng thỏa mãn lời phán truyền.

Ràng buộc

Tất cả dữ liệu vào đều thỏa mãn:

  • \(1 \le N \le 200\,000\).
  • \(0 \le X_i \le 1\,000\,000\,000\) với mọi \(1 \le i \le N\).
  • \(0 \le Y_i \le 1\,000\,000\,000\) với mọi \(1 \le i \le N\).
  • Các giá trị \(X_i\) (\(1 \le i \le N\)) đôi một khác nhau.
  • Các giá trị \(Y_i\) (\(1 \le i \le N\)) đôi một khác nhau.

Phân nhóm

  • Subtask 1 (5 điểm): \(N \le 400\).
  • Subtask 2 (10 điểm): \(N \le 5\,000\).
  • Subtask 3 (85 điểm): Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
4
0 0
2 2
3 4
4 3
Output
3
Giải thích

Trong ví dụ này, có ba vị trí đặt thửa ruộng thỏa mãn lời phán truyền như sau (được minh họa trong hình bên dưới):

  • Hình chữ nhật có đỉnh phía tây nam là \((0, 0)\) và đỉnh phía đông bắc là \((2, 2)\).
  • Hình chữ nhật có đỉnh phía tây nam là \((2, 2)\) và đỉnh phía đông bắc là \((3, 4)\).
  • Hình chữ nhật có đỉnh phía tây nam là \((2, 2)\) và đỉnh phía đông bắc là \((4, 3)\).

Ví dụ 2

Input
10
2 1
3 0
6 3
10 2
16 4
0 8
8 12
11 14
14 11
18 10
Output
15
Giải thích

Trong ví dụ này, các con bù nhìn đứng ở những vị trí như hình dưới đây.

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: