Vacas Privilegiadas.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C#, C++, Java, JS, Pascal, Python, VB

Dependiendo en su producción de leche, a cada una de las N vacas (1 \leq N \leq 1,000) se el asigna un 'número de privilegio' de 1, 2, ó 3 que dice si ellas pueden tomar agua temprano (privilegio número 1) o después. Las vacas, por supuesto, nunca recuerdan sus números de privilegio hasta que el Granjero Juan las regaña.

Por lo tanto, las vacas están alineadas en algún orden y deben reordenarse ellas mismas de tal manera que todas las vacas con números de privilegio 1 están juntas al inicio de la fila, seguidas por las con número 2 juntas, y con todas las 3's juntas al final de la fila.

Las vacas, como frecuentemente se recuerda, son perezosas. ¿Cuál es el mínimo número de intercambios que debe tener lugar para ordenar las vacas adecuadamente?

Entrada

  • Línea 1: Un solo entero: N.
  • Líneas 2..N+1: La línea i+1 contiene un solo entero que es el número de privilegio de la vaca con lugar i en la fila.

Ejemplo de Entrada

9
2
2
1
3
3
3
2
3
1

Salida

  • Línea 1: Un solo entero que es el número mínimo de intercambios requerido para ordenar las vacas adecuadamente.

Ejemplo de Salida

4

DETALLES DE LA SALIDA:

Aquí se muestra una manera:

2   2   2<  1   1
2<  1   1   1   1
1<  2   2   2   2
3   3<  2   2   2 
3   3   3   3<  2
3   3   3   3   3
2   2<  3   3   3
3   3   3   3   3
1   1   1<  2<  3

Comments

There are no comments at the moment.