Nối Dây Tòa Nhà (Wiring)

Xem dạng PDF

SUBMIT SOLUTION

ID: tcpp24_hlny_wiring

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Một dãy phố gồm ~N~ tòa nhà được xây liên tiếp nhau trên một đường thẳng, tòa nhà thứ ~i~ có chiều cao là ~h_i~. Trưởng thành phố muốn nối dây mạng liên thông giữa các tòa nhà bằng nhau nên nhờ bạn giúp đỡ.

Với mỗi cặp tòa nhà ~i, j~, với ~i < j~ và ~h_i = h_j~. Nếu như không có tòa nhà nào chắn giữa ~i~ và ~j~ thì cần nối một đoạn dây có độ dài ~i - j - 1~ giữa hai tòa nhà.

Yêu cầu: Hãy tính tổng độ dài đoạn dây tối thiểu để nối các dây mạng liên thông.

Input Specification

  • Dòng đầu tiên gồm một số nguyên dương ~N~ - số lượng tòa nhà.
  • Dòng thứ hai gồm ~N~ số nguyên dương ~h_i~ - độ cao của tòa nhà.

Output Specification

  • Một dòng duy nhất là kết quả.

Limitations

  • Subtask 1 [~30\%~]: ~1 \le N \le 10^3; 1 \le h_i \le 10^2~
  • Subtask 2 [~70\%~]: ~1 \le N \le 10^6; 1 \le h_i \le 10^4~

Sample Input

9
1 2 1 1 2 1 1 2 1

Sample Output

4

Sample Explanation

Hình 1. Mô phỏng ví dụ


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.