6. Caos en el comedor

La gente tiene sueño, y ganas de tomarse un café.

Son las nueve de la mañana y la gente está esperando en la cola de las máquinas de café del corporativo. Resulta que Vicente ha dicho que hoy había kata, asi que parece que va para largo.

Antes de ponerse a la fila, el segurata del café le ha dado un turno a cada uno, marcando su posición inicial en la fila, desde 1 hasta n.

Los más espabilados están empezando a sobornar al resto para colarse en la fila, desbaratando el orden por completo. Sin embargo, el segurata es bastante perezoso, y dejará que la cola continue siempre y cuando la gente no soborne a más de dos personas cada uno.

Determina el mínimo número de sobornos que hubo en una cola dado un orden final. Devuelve el número de sobornos o, si alguien ha sobornado a más de dos personas, devuelve -1.

Ejemplo

q = [1,2,3,5,4,6,7,8]

Si la persona 5 soborna a la persona 4 cuando están ordenados, la cola quedaría: 1,2,3,5,4,6,7,8. Solo se ha necesitado sobornar a una persona, se devuelve 1.

q = [4,1,2,3]

La persona 4 ha tenido que sobornar a 3 personas para llegar a la posición actual. Devuelve -1.

Formato de entrada

El parámetro será un listado de números separados por espacios, que corresponderán al orden de la fila tras todos los sobornos.

Formato de salida

Se devuelve un número correspondiendo al mínimo total de los sobornos que han tenido lugar, o -1 en caso de que alguien haya sobornado a más de 2 personas.

copying is disabled


Home
Leaderboard


do a barrel roll

rickroll
cinnamon roll