[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:

  • -1 nếu dãy không tăng dần.
  • 0 nế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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.