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