Ordenando una Secuencia de Tres Valores.


Submit solution

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

Author:
Problem type

Ordenar es una de las tareas computacionales más frecuentes. Considere el problema de ordenamiento especial en el que los registros a ordenar tienen como máximo tres valores clave diferentes. Esto ocurre, por ejemplo, cuando ordenamos a los medallistas de una competición según su valor de medalla; es decir, los medallistas de oro van primero, seguidos de los de plata y los de bronce al final.

En esta tarea, los posibles valores clave son los enteros 1, 2 y 3. El orden de ordenamiento requerido no es decreciente. Sin embargo, la ordenación debe realizarse mediante una secuencia de operaciones de intercambio. Una operación de intercambio, definida por dos números de posición p y q, intercambia los elementos en las posiciones p y q.

Se le proporciona una secuencia de valores clave. Escriba un programa que calcule el número mínimo de operaciones de intercambio necesarias para ordenar la secuencia.

Entrada

  • Línea 1: N (1 \leq N \leq 1000), el número de registros a ordenar
  • Líneas 2-N+1: Un entero del conjunto {1,2,3}

Salida

Una sola línea que contiene el número de intercambios requeridos.

Ejemplo de Entrada

9
2
2
1
3
3
3
2
3
1

Ejemplo de Salida

4

IOI'96 - Día 2


Comments

There are no comments at the moment.