Given a cycle of non-zero numbers we say a "block" is a substring appearing immediately after \$n\$ and immediately before \$-n\$, which contains neither \$n\$ nor \$-n\$.
Here is an example block and cycle (\$n=-1\$):
... -1, 4, -3, 4, 2, 1, 1, -2, -3, ... ============ ... indicates where the cycle loops to the other end.
Your task is to take a cycle and determine whether every element of the cycle is in some block. In other words: "Is the union of all blocks the complete cycle?"
You may take input as a list with the assumption that it wraps around again.
You should output one of two distinct consistent values if every element is in a block, and the other one if not.
This is code-golf the goal is to minimize the size of your source code as measured in bytes.
Examples
False
... 1, 3, 8, 3, 3, 9, ... There are no blocks so this is false.
... -1, 4, 1, -3, 2, 4, 2, -1, 1, ... The only \$n\$ with both signs is 1 so no 1 can appear in a block
... 2, 3, 2, 1, -2, -3, -1, 1, ... The 3 is not contained in a block.
True
The following cases are all true:
... 1, 2, -1, -2, ... ... 1, 1, 2, -1, -2, ... ... 8, 1, 1, -8, -8, -1, -1, 8, ... ... 1, 2, 3, 2, -1, -1, -2, 3, -2, 1, ... ... 1, 2, 3, 2, -1, 2, -3, 1, -2, 3, -2, -1, -3, ... 
... 1, 1, 2, -1, -2, ...isn't this false? The first1isn't in a block. Your 3rd example says that the3isn't in a block, despite a2coming before it and a-2after it. \$\endgroup\$-2, ... 1, 1, 2covers the first1. The third example has no block covering the3because blocks cannot contain theirnor-n. \$\endgroup\$