Dãy tăng liên tiếp (daytanglientiep.*)
Cho số nguyên dương \(n\) và dãy số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\). Với mỗi thao tác bạn có thể chọn số \(a_{i}\) bất kì để tăng giá trị lên 1 đơn vị hoặc giảm giá trị xuống 1 đơn vị.
Yêu cầu: Hãy cho biết cần thực hiện ít nhất bao nhiêu thao tác để từ dãy số ban đầu tạo thành dãy mới sao cho các phần tử trong dãy mới thỏa mãn \(a_{i} - a_{i - 1} = 1\ (\forall i = 2\ldots n)\)?
Dữ liệu vào:
- Dòng đầu tiên ghi số nguyên dương \(n\ (2 \leq n \leq 2000)\);
- Dòng thứ hai ghi lần lượt các số nguyên \(a_{1},a_{2},\ldots,a_{n}\ ({0 < a}_{i} \leq 10^{9})\).
Kết quả:
- Ghi một số nguyên duy nhất cho biết kết quả bài toán.
Ví dụ:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
| 5 8 3 7 9 3 | 13 | Cần thực hiện 13 thao tác như sau: - Thực hiện 3 thao tác -1 ở \(a_{1}\) - Thực hiện 3 thao tác +1 ở \(a_{2}\) - Thực hiện 1 thao tác -1 ở \(a_{4}\) - Thực hiện 6 thao tác +1 ở \(a_{5}\) Dãy số ban đầu trở thành: 5 6 7 8 9 |
Ràng buộc:
- Subtask 1 (50% số điểm): \(n = 2\);
- Subtask 2 (50% số điểm): không có ràng buộc gì thêm.
| Code tích cực |
|---|
| Trong 24h |
|
| Trong 7 ngày |
| Trong 30 ngày |
|
| Kỳ thi |
|---|
| Lập trình cơ bản |
| Luyện thi Chuyên Tin - CB |
| Luyện thi Chuyên Tin - NC |
| Tuyển tập Đề thi Tuyển sinh 10 |
| Tuyển tập Đề thi HSG THCS |
| Tuyển tập Đề thi HSG THPT |
| Tuyển tập Đề thi HSG Chọn đội tuyển |
| Thống kê |
|---|
|
AC/Sub: 120817/226949 Pascal: 18142 C++: 157988 Python: 50747 Lượt xem/tải tests: 42171 |