Enunciado del problema:
El problema consiste en escribir una funcion MitadMasUno que calcule, si existe, el elemento "Mitad-Mas-Uno" de un vector de "n" numeros naturales, con por lo menos un elemento. Los elementos pueden estar desordenados.
Se entiende por elemento "Mitad-Mas-Uno" a aquel que aparezca repetido en una cantidad de veces mayor a la mitad de la cantidad de elementos que posee el conjunto.
Ej: En un array de 10 elementos, va a ser Mitad-Mas-Uno, aquel elemnto que se repita, una vez mas que la mitad de elementos, osea que si la mitad de elementos es 5, el elemento "Mitad-MasUno", va a ser aquel, que se repita por lo menos 6 veces.
La funcion MitadMasUno devera ser programada para trabajar sobre un vector o arreglo unidimensional que contenga los elementos del conjunto.
Devera devolver el numero natural que sea el elemento "Mitad-Mas-Uno" si es que existe, o bien -1 si no existe tal elemento.
No solo se devera codificar la funcion MitadMasUno, sino tambien mostrar su invariacion con distintos vectores o arreglos diferentes (En tamaño y elementos) para verificar su correctividad.
Criterio por orden de importancia:
* Que resuelva el problema planteado
* Que recorra como maximo dos veces el vector, para hallar la solucion.
* Que use la menor cantidad de espacio posible (Memoria y/o disco) para resolver el problema.
* Que funcione eficientemente (Que no haga cosas inecesarias).
* Que sea solida (No aborte la ejecucion, no acceda afuera de los limites del vector, etc...).
El codigo de fuente, deve estar comentado, para comprobar su realizacion real por parte del programador.
Bueno, este es un desafio real, no es de esos desafios, que mas que desafios son juegos, este es un desafio real, de un campeonado de programacion de Argentina.
Bue, oviamente yo no gane, pero por lo menos hice el intento, otro año sera.
Espero que lo disfruten, y que aprendan cosas nuevas intentando resolver este desafio.
Saludos

:D