Python NumPy, 4442 bytes
def f(a):b=a[1::2];b+=a[:-1:2];b@b>0!=f(b)
Python NumPy, 44 bytes
def f(a):a[1::2]+=a[:-1:2];a@a>0!=f(a[1::2])
Takes a NumPy array and modifies it in-place.
How?
Simple recursion best explained by example:
a1
a2
a3
a4
a5
a6
a7
a8
a9
==>
a1
a1+a2
a3
a3+a4
a5
a5+a6
a7
a7+a8
a9
==>
a1
a1+a2
a3
a1+a2+a3+a4
a5
a5+a6
a7
a5+a6+a7+a8
a9
==>
a1
a1+a2
a3
a1+a2+a3+a4
a5
a5+a6
a7
a1+a2+a3+a4+a5+a6+a7+a8
a9