[VTT Q4 Contest 02] Bài 1: Giá trị nhỏ nhất [MINSEG]
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
MINSEG.INP
Output:
MINSEG.OUT
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Cho dãy số nguyên ~a_1, a_2, \dots, a_n~. Dãy được gọi là tăng dần (không giảm) nếu ~a_1 \le a_2 \le \dots \le a_n~, tức là mọi hiệu ~a_{i+1} - a_i~ với ~1 \le i \le n-1~ đều không âm.
Hãy kiểm tra dãy đã cho có tăng dần hay không. Nếu có, hãy tìm giá trị ~t~ nhỏ nhất thỏa mãn ~t > 0~ và ~t = a_{i+1} - a_i~ với một chỉ số ~i~ nào đó (~1 \le i \le n-1~), nghĩa là hiệu dương nhỏ nhất giữa hai phần tử liền kề.
Dữ liệu
- Dòng thứ nhất: số nguyên dương ~n~ (~1 \le n \le 10^5~) là số phần tử của dãy.
- Dòng thứ hai: ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~|a_i| \le 10^9~).
Kết quả
In ra một số nguyên:
-1nếu dãy không tăng dần.0nếu dãy tăng dần nhưng không tồn tại hiệu ~t > 0~ như yêu cầu (ví dụ mọi phần tử bằng nhau).- Ngược lại, in ra giá trị ~t~ nhỏ nhất tìm được.
Ví dụ
Ví dụ 1
MINSEG.INP
7
1 1 2 2 4 6 8
MINSEG.OUT
1
Ví dụ 2
MINSEG.INP
5
6 6 6 6 6
MINSEG.OUT
0
Ví dụ 3
MINSEG.INP
6
1 8 9 2 3 4
MINSEG.OUT
-1
Bình luận