Olá! preciso de uma ajuda em um exercício que estou fazendo, já tentei várias abordagens mas nenhuma funcionou, eu tenho o seguinte problema:
É fornecida uma matriz não vazia A, composta por N números inteiros. A sequência dos elementos da
matriz A representam a sequência de pessoas em uma calçada. A matriz A contém apenas 0 e/ou 1:
0 representa uma pessoa viajando para o leste e 1 representa uma pessoa viajando para o oeste.
O objetivo é contar os pares de pessoas que se cruzam. Dizemos que um par de pessoas (P, Q),
onde 0 ≤ P < Q < N, se cruzam quando P está viajando para o leste e Q está viajando para o oeste.
Por exemplo, considere a seguinte matriz A:
A [0] = 0
A [1] = 1
A [2] = 0
A [3] = 1
A [4] = 1
Temos cinco pares de pessoas se cruzando: (0, 1), (0, 3), (0, 4), (2, 3), (2, 4).
Eu consegui observar um padrão ai, a comparação só pode ser feita no fluxo do array, por exemplo pego o A[0] = 0 depois vou capturando cada encontro com indices que contenham 1 ai incremento uma variavel.
Só que não estou conseguindo pegar um indice e comparar ele com os demais abaixo. Alguém pode me ajudar a entender como fazer isso?
Dada uma matriz não vazia A de N numeros inteiros , retorna o número de pares de pessoas que se cruzam. A função deve retornar -1 se o número de pares de pessoas se cruzando exceder 1.000.000.000
N é um número inteiro dentro do intervalo [1…100.000];