Submit solution
Points:
0.76 (partial)
Time limit:
0.38s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một dãy số ~a_{1}, a_{2}, \dots, a_{n}~. Bạn được thực hiện các phép biến đổi trên dãy này. Ở mỗi phép biến đổi bạn có thể chọn một giá trị bất kỳ, sau đó tăng hoặc giảm tất cả các phần tử mang giá trị đó ~1~ đơn vị.
Ví dụ, dãy số ~[1, 9, 9, 2, 2]~ sẽ trở thành dãy ~[1, 9, 9, 3, 3]~ nếu bạn tăng tất cả các phần tử mang giá trị ~2~ lên ~1~ đơn vị.
Yêu cầu: Hãy đếm số phép biến đổi ít nhất để dãy số đã cho là dãy không giảm .
Input
- Dòng đầu ghi số phần tử của dãy ~N~.
- Dòng sau ghi ~N~ số tự nhiên thể hiện dãy số.
Output
- Số phép biến đổi ít nhất cần thực hiện.
Giới hạn
- ~1 \leq N \leq 10^{5}~ .
- Các phần tử của dãy số là số tự nhiên không vượt quá ~10^{9}~ .
- Trong ~50\%~ số test, ~N~ không vượt quá ~10^{3}~.
Sample Input
5
1 9 9 2 2
Sample Output
7
Comments