Acomodando estudantes

Crie uma função que leia um array de inteiros no seguinte formato: [K, r1, r2, r3, ...], em que K representa o número de carteiras em uma sala de aula e os demais inteiros do array estarão em ordem crescente e representarão as carteiras que já estão ocupadas. Todas as carteiras estarão dispostas em duas colunas, em que a carteira #1 fica na parte superior esquerda, a carteira #2 fica na parte superior direita, a carteira #3 fica abaixo da #1, a carteira #4 fica abaixo da #2 etc.

Seu programa deve retornar o número de maneiras de acomodar dois estudantes lado a lado. Isso significa que um estudante fica à esquerda e o outro à direita, ou que um estudante fica diretamente acima ou abaixo do outro.

Para ilustrar:

[12, 2, 6, 7, 11]

A sala de aula ficará assim:

Coluna direita

[[#, 4, #, 8, 10, 12]]
// The first # is 2 and second # is 6 which are occupied.

Coluna esquerda

[[1, 3, 5, #, 9, #]]
// The first # is 7 and and second # is 11 which are occupied.

Com base na disposição acima das carteiras ocupadas, há um total de seis maneiras de acomodar dois novos estudantes lado a lado. As combinações são:

[[1, 3]], [[3, 4]], [[3, 5]], [[8, 10]], [[9, 10]], [[10, 12]]

Para esta entrada, seu programa deve retornar 6. K estará entre 2 e 24 e será sempre um número par. Depois de K, o número de carteiras ocupadas no array pode variar de 0 a K.

Exemplos

seatingStudents([6, 4]) ➞ 4

seatingStudents([8, 1, 8]) ➞ 6

seatingStudents([12, 2, 6, 7, 11])  ➞ 6

Notas

N/A