DHBB 2026 - DX07 - 10 - Dãy số
Xem dạng PDFTrong 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