DHBB 2026 - DX07 - 10 - Dãy số

Xem dạng PDF

Gửi bài giải

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

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, \dots, 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 ~1~: Số nguyên dương ~n~ ~(1 \le n \le 10^5)~;

  • Dòng ~2~: ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ ~(1 \le a_i \le 10^4, i = 1 \dots n)~.

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.

Scoring

Subtask Điểm Ràng buộc
1 ~\frac{1}{7}~ ~n \le 8, a_i \le 6~
2 ~\frac{1}{7}~ ~n < 150~
3 ~\frac{1}{7}~ ~n < 5000~
4 ~\frac{1}{7}~ ~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 ~\frac{3}{7}~ Không có ràng buộc gì thêm

Sample Input 1

5
2 6 4 3 2

Sample Output 1

5

Sample Input 2

5
2 6 6 7 7

Sample Output 2

0

Notes

Với ví dụ thứ nhất:

  • Á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 ~\{2; 4; 4; 4; 4\}~.


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.