Cộng Và Trừ

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

ami có \(n\) đống sỏi, được đánh số từ \(1\) đến \(n\). Ở một thao tác, ami có thể thêm vào đống sỏi \(i\) 1 viên sỏi, hoặc vứt \(1\) viên sỏi ra khỏi đống sỏi \(i\). ami cần tìm số thao tác ít nhất để đám sỏi được sắp xếp tăng dần theo số sỏi (\(a_i < a_{i+1}\) với mọi \(1 \leq i < n\)).

Lưu ý rằng, đây là đống sỏi ma thuật, vì vậy số sỏi trong 1 đống có thể âm hoặc bằng 0.

Input

  • Dòng đầu tiên chứa 1 số nguyên dương \(n\) là số đống sỏi.
  • Dòng tiếp theo chứa \(n\) số nguyên dương \(a_i\) là số sỏi trong đống \(i\).

Output

  • Một số nguyên là số thao tác ít nhất.

Example

Test 1

Input
3
3 3 3
Output
2
Note

Ở ví dụ 1, cần lấy ra ở đống \(1\) 2 viên sỏi, đống \(3\) thêm 1 viên sỏi. Các đống sỏi còn lại là \(2\ 3\ 4\).

Test 2

Input
2
1 99
Output
0
Note

Ở ví dụ 2, không cần thực hiện thao tác.

Giới hạn

  • \(33\%\) test có \(1 \leq n \leq 3000\), \(a_i \leq 5000\).
  • \(67\%\) test có \(1 \leq n \leq 3000\), \(a_i \leq 10^9\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.