Hai số gần nhau nhất

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Cho một dãy gồm ~n~ số nguyên. Hãy tìm giá trị nhỏ nhất của ~|a_i - a_j|~ với ~i \ne j~ (chênh lệch nhỏ nhất giữa hai phần tử ở hai vị trí khác nhau).

Dữ liệu vào

Dòng đầu tiên chứa số nguyên ~n~ (~2 \le n \le 10^5~).

Dòng thứ hai chứa ~n~ số nguyên ~a_1, \dots, a_n~ (~|a_i| \le 10^9~).

Kết quả

In ra chênh lệch nhỏ nhất.

Ví dụ

Ví dụ 1

Input:

5
1 9 4 12 6

Output:

2

Ví dụ 2

Input:

2
5 5

Output:

0

Giải thích

Sau khi sắp xếp, hai phần tử gần nhau nhất luôn đứng cạnh nhau, nên chỉ cần so sánh các cặp liền kề. Thử mọi cặp sẽ mất ~n^2 = 10^{10}~ phép tính, quá chậm.


Đang tải...