Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

TOINCSEQ - Non-decreasing sequence

Cho một dãy số a1, a2, …, an. 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.

Example

Input:
5

1 9 9 2 2


Output:
7

Giới hạn

  • 1 ≤ N ≤ 105.
  • Các phần tử của dãy số là số tự nhiên không vượt quá 109.
  • Trong 50% số test, N không vượt quá 103.

ãy

Được gửi lên bởi:VOJ Team
Ngày:2009-07-02
Thời gian chạy:0.200s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:VNOI Marathon 2009 - Warm up Round

hide comments
2014-05-12 06:35:35 an IM3 Ex-Member of Bit
Chú ý tổng chi phí để biến 1 đoạn có [min, max] thành 1 giá trị có tính chất bằng nhau với mọi giá trị trong khoảng [min, max] -> có thể tham lam thay vì QHD.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.