#CCBCHBAHAI0000067. Đếm số lần đổi dấu giữa hai phần tử kề (Count Sign Changes Between Adjacent Elements)

    ID: 985 Loại: Thông thường 2000ms 256MiB Tried: 0 Đã chấp nhận: 0 Độ khó: 1 Đăng bởi: Nhãn>Programming language basicsStatic arraysIteration techniquesImplementation techniquesInteger arithmetic

Đếm số lần đổi dấu giữa hai phần tử kề (Count Sign Changes Between Adjacent Elements)

Đếm số lần đổi dấu giữa hai phần tử kề (Count Sign Changes Between Adjacent Elements)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng số nguyên a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}. Với mỗi ii thỏa 1≤i<n1\le i<n, cặp kề (ai−1,ai)(a_{i-1},a_i) được gọi là đổi dấu khi một số âm và số còn lại dương, tức

(ai−1<0<ai) ∨ (ai<0<ai−1).(a_{i-1}<0<a_i)\ \lor\ (a_i<0<a_{i-1}).

Tương đương, cặp đổi dấu khi

ai−1 ai<0.a_{i-1}\,a_i<0.

Nếu một trong hai phần tử bằng 00, cặp đó không được tính là đổi dấu. Hãy đếm số chỉ số ii tạo thành một cặp đổi dấu.

Input

Dòng đầu chứa nn. Dòng thứ hai chứa nn số nguyên aia_i.

Output

In một số nguyên: số cặp kề đổi dấu.

Subtask

Subtask 1 (20 điểm): 1≤n≤101\le n\le10, ∣ai∣≤103|a_i|\le10^3.

Subtask 2 (30 điểm): 1≤n≤50001\le n\le5000, ∣ai∣≤106|a_i|\le10^6.

Subtask 3 (50 điểm): 1≤n≤2⋅1051\le n\le2\cdot10^5, ∣ai∣≤109|a_i|\le10^9.

Ví dụ

Input

8
-2 5 0 -3 4 -1 -1 6

Output

4

Giải thích

Các cặp đổi dấu là (−2,5)(-2,5), (−3,4)(-3,4), (4,−1)(4,-1) và (−1,6)(-1,6). Hai cặp chứa 00 không được tính.