[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