[144A] El arribo del general
tiempo límite por test | 2 segundos |
memoria límite por test | 256 MB |
entrada | entrada estándar |
salida | salida estándar |
Un ministro de defensa envío a un general a inspeccionar al escuadrón militar Super Secreto bajo el mando del coronel SuperDuper. Habiéndo visto las noticias, el coronel ordenó a los soldados del escuadrón alinearse en la plaza de armas.
Por constitución militar, los soldados se deberían colocar en orden no creciente respecto a sus alturas. Pero dado que virtualmente no hay tiempo para hacerlo, los soldados se alinean en cualquier orden arbitrario. El general, sin embargo, es bastante corto de vista, y piensa que los soldados están alineados correctamente si el primer soldado de la línea tiene la altura máxima y el último tiene la altura mínima. Por favor, nota que no importa cómo estén posicionados los otros soldados, incluyendo los casos donde hay más de un soldado cuya altura es la máxima o mínima. Sólo son importantes las alturas del primer y último soldado.
Por ejemplo, el general considera correcta la secuencia de alturas (4, 3, 4, 2, 1, 1) y incorrecta la secuencia (4, 3, 1, 2, 2).
En un segundo el coronel puede intercambiar a dos soldados vecinos. Ayúdalo a contar el menor tiempo que necesita para formar un alineamiento que considere correcto.
Entrada
La primera línea contiene un único entero (), el número de soldados en la línea. La segunda línea contiene a los enteros (), las alturas de los soldados de inicio a fin. Los números no necesariamente son diferentes.
Salida
Un entero - la cantidad mínima de segundos que necesita el coronel para formar una alineación que le guste.
Ejemplos
input:
4
33 44 11 22
output:
2
input:
7
10 10 58 31 63 40 76
output:
10
Nota
En el primer ejemplo el coronel necesitará intercambiar al primer y segundo soldado y luego al tercero y al cuarto. Eso le tomará 2 segundos. La posición resultante será (44, 33, 22, 11)
En el segundo ejemplo, el coronel puede intercambiar los soldados como se muestra en la siguiente secuencia:
- (10, 10, 58, 31, 63, 40, 76)
- (10, 58, 10, 31, 63, 40, 76)
- (10, 58, 10, 31, 63, 76, 40)
- (10, 58, 10, 31, 76, 63, 40)
- (10, 58, 31, 10, 76, 63, 40)
- (10, 58, 31, 76, 10, 63, 40)
- (10, 58, 31, 76, 63, 10, 40)
- (10, 58, 76, 31, 63, 10, 40)
- (10, 76, 58, 31, 63, 10, 40)
- (76, 10, 58, 31, 63, 10, 40)
- (76, 10, 58, 31, 63, 40, 10)