Dãy số không giảm
Đề bài
Mô tả
Cho dãy số nguyên gồm phần tử . Bạn được thực hiện nhiều thao tác, mỗi thao tác cho phép tăng hoặc giảm phần tử của dãy đi đơn vị. Hãy thực hiện một số ít nhất các thao tác sao cho dãy số ban đầu trở thành một dãy số không giảm. Một dãy số gọi là không giảm khi một phần tử bất kì của dãy không nhỏ hơn phần tử đứng liền trước.
Các phần tử sau khi biến đổi có thể nhận giá trị nguyên bất kỳ (kể cả số âm).
Yêu cầu: Tìm số thao tác ít nhất cần thực hiện để dãy số trở thành dãy không giảm.
Dữ liệu vào
- Dòng đầu tiên gồm một số nguyên dương .
- Dòng thứ hai gồm số nguyên ().
Dữ liệu ra
Gồm một số nguyên là số thao tác ít nhất cần thực hiện.
Ràng buộc
- .
- .
Subtasks
- số test: , .
- số test khác: .
- số test còn lại: .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 1 1 1 1 |
1 | Giảm đi đơn vị, dãy thành . |
| 5 3 2 -1 2 11 |
4 | Một cách tối ưu: dãy thành với thao tác. |
| 3 1000000000 -1000000000 1000000000 |
2000000000 | Ví dụ bổ sung (không có trong đề gốc). Dãy thành ; kết quả vượt quá phạm vi số nguyên bit có dấu. |
Bình luận