How can I count the last negative values in sequence?

Example:

```
200 120 80 7 -12 -20 15 70 85 -12 -19 -43

```

Should return

```
3

```

Because the last three values are negative.

```
189 321 234 -87 -19 -8 -1 10 12 21 9 -23

```

Should return

```
1

```

And

```
145 321 213 187 87 78 -23 -43 12 -35 21

```

Should return

```
0

```

Because the last value isn't negative.

I know I could make some loop that would stop on the first non-negative value, but I don't think that would be computationally efficient. Is there a better and simpler way to do it?