[DHBB25 - DX05 - 11] Bài 1: SEQ

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho dãy ~n~ số nguyên dương ~a_1, a_2, ..., a_n~. Với mỗi số ~a_i~ (~1 \le i \le n~) ta có thể thực hiện "không, một hoặc nhiều lần" phép biến đổi "tăng hoặc giảm ~a_i~ một đơn vị".

Yêu cầu: Hãy tính số phép biến đổi ít nhất để dãy đã cho thành dãy không giảm.

Input

  • Dòng đầu tiên chứa số nguyên dương ~n~.
  • Dòng tiếp theo chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~1 \le a_i \le 10000, i = 1..n~).

Các số trên một dòng cách nhau bởi dấu cách.

Output

  • Một số duy nhất là số phép biến đổi ít nhất để dãy đã cho thành dãy không giảm.

Sample Input 1

5
2 6 4 3 2

Sample Output 1

5

Giải thích

  • Áp dụng ~2~ lần phép biến đổi "Giảm ~a_2~ đi ~1~ đơn vị".
  • "Tăng ~a_4~ lên ~1~ đơn vị".
  • Áp dụng ~2~ lần phép biến đổi "Tăng ~a_5~ lên ~1~ đơn vị". Dãy thu được là ~\{2, 4, 4, 4, 4\}~.

Sample Input 2

5
2 6 6 7 7

Sample Output 2

0

Subtasks

Subtask Điểm Ràng buộc
1 ~1~ ~n \le 8, a_i \le 6~.
2 ~1~ ~n < 150~.
3 ~1~ ~n < 5000~.
4 ~1~ ~n \le 5000~ và đáp án bài toán tìm được chỉ bằng cách sử dụng phép biến đổi trên một phần tử của dãy số.
5 ~3~ ~n \le 100000~.

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.