[Buổi 14][Chuyên đề Tham lam & chiến lược tìm kiếm][ADV] Bài 1: Khoảng cách gần nhất giữa các điểm


LÀM BÀI

Points: 100
Time limit: 4.0s
Memory limit: 512M

Author:
Problem types

Khoảng cách gần nhất giữa các điểm

Bối cảnh và bài toán

Có n trạm trên mặt phẳng với tọa độ nguyên, đôi một khác nhau. Cần tìm hai trạm gần nhau nhất; để tránh số thực, hệ thống yêu cầu bình phương khoảng cách Euclid.

Yêu cầu

Tìm giá trị nhỏ nhất (x1-x2)^2 + (y1-y2)^2 giữa hai điểm khác nhau.

Input

  • Dòng 1: n.
  • n dòng tiếp: x y.

Output

In bình phương khoảng cách nhỏ nhất.

Ràng buộc

  • 2 <= n <= 2 * 10^5
  • -10^9 <= x, y <= 10^9

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% n ≤ 2 * 10^3 01–04
S2 30% n ≤ 2 * 10^4 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

4
2 1
4 4
1 2
6 3

Output

2

Giải thích. Hai điểm (2,1) và (1,2) có bình phương khoảng cách 1^2+(-1)^2=2.

Ví dụ 2

Input

2
-999999999 -999999999
999999999 999999999

Output

7999999984000000008

Giải thích. Chỉ có một cặp; phải dùng số nguyên 64-bit và trung gian rộng để tránh overflow khi bình phương.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M04-B14-ADV01
Buổi B14
Loại bài ADVANCED
Mức độ khó Khó (Hard)
Thời gian làm bài khuyến nghị 100 phút
Time limit 4 giây
Memory limit 512 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên
Yêu cầu bổ sung Decision Note

Nguồn: Phỏng theo CSES Problem Set — Minimum Euclidean Distance (Task 2194).

Tham khảo: https://cses.fi/problemset/task/2194/


Comments

There are no comments at the moment.

Zalo