Sobreposição Circular
Você recebe duas filas circulares binárias $A$ e $B$, ambas de tamanho $N$.
Cada posição das filas contém $0$ ou $1$. Dizemos que duas filas colidem numa sobreposição se existir alguma posição $i$ onde $A[i] = 1$ e $B[i] = 1$ simultaneamente.
Como $B$ é circular, você pode rotacioná-la qualquer número de posições para a esquerda ou para a direita antes de sobrepor.
Seu objetivo é determinar se existe alguma rotação de $B$ tal que, ao sobrepor $A$ e $B$ rotacionado, não haja colisão — ou seja, para toda posição $i$:
$$A[i] \times B[(i + k) \bmod N] = 0$$
para algum inteiro $k$.
Input
A primeira linha contém um inteiro N $(1 \le N \le 2 \times 10^5)$.
A segunda linha contém N inteiros $A_i \in {0, 1}$.
A terceira linha contém N inteiros $B_i \in {0, 1}$.
Output
Imprima YES se existe alguma rotação de $B$ sem colisão com $A$, ou NO caso contrário.
5 0 1 0 1 0 0 1 0 0 1
YES
Explanation 1:
Com rotação $k=2$: posições dos 1s de $A$ são $\{0,3\}$, de $B$ são $\{1,4\}$ — sem colisão.
3 1 1 1 1 0 1
NO
Explanation 2:
$A$ tem 1s em todas as posições, então qualquer rotação de $B$ que tenha pelo menos um 1 vai colidir.
1 1 0
YES
1 1 1
NO