Mã bài:
clopair
Điểm:
3,6 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Dữ liệu vào:
stdin
Dữ liệu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Golang, Java, Pascal, Perl, Python, Rust
Cho ~N~ điểm trên mặt phẳng, hãy tìm một cặp điểm với khoảng cách ơclit nhỏ nhất giữa chúng. Biết rằng không có hai điểm nào trùng nhau và có duy nhất một cặp có khoảng cách nhỏ nhất.
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên ~N~ ~(2 ≤ N ≤ 50000)~. ~N~ dòng tiếp theo mỗi dòng chứa hai số nguyên là tọa độ ~X~ và ~Y~ của một điểm. Giá trị tuyệt đối của ~X,Y~ không vượt quá ~10^6~.
Dữ liệu ra
Ghi ra ~3~ số ~a, b, c~, trong đó ~a, b (a < b)~ là các chỉ số của cặp điểm tìm được trong dữ liệu vào (chỉ số bắt đầu từ ~0~) và ~c~ là khoảng cách giữa chúng. Làm tròn ~c~ đến ~6~ chữ số sau dấu phẩy động.
Sample Input 1
5
0 0
0 1
100 45
2 3
9 9
Sample Output 1
0 1 1.000000
Sample Input 2
5
0 0
-4 1
-7 -2
4 5
1 1
Sample Ouput 2
0 4 1.414214
Bình luận