Điểm:
500 (p)
Thời gian:
1.0s
Bộ nhớ:
1023M
Input:
bàn phím
Output:
màn hình
Cho dãy \(n\) số nguyên \(a_1, a_2, ..., a_n\). Người ta tìm cách biến đổi dãy theo cách sau: tại mỗi bước biến đổi bạn được phép tăng thêm 1 đơn vị hoặc giảm bớt 1 đơn vị giá trị của một phần tử bất kỳ trong dãy. Mục tiêu sau khi biến đổi xong, dãy số trên trở thành dãy không giảm \(a_1 \le a_2 \le ... \le a_n\) và số bước biến đổi là ít nhất.
Yêu cầu: Hãy lập trình tính số bước biến đổi tối thiểu đó.
Input
- Dòng đầu chứa số nguyên \(n\) (\(1 \le n \le 10^4\)) là số phần tử của dãy.
- \(n\) dòng sau, dòng thứ \(i\) chứa số nguyên \(a_i\) có giá trị tuyệt đối không quá \(10^9\).
Output
- Một dòng duy nhất chứa số nguyên là số bước biến đổi tối thiểu.
Scoring
- Subtask \(1\) (\(60\%\) số điểm): \(n \le 20\)
- Subtask \(2\) (\(40\%\) số điểm): \(n \le 10^4\)
Example
Test 1
Input
5
3 2 -1 2 11
Output
4
Test 2
Input
5
2 1 1 1 1
Output
1
Bình luận
??
dp =))?