Problema 3
Votaciones Rurales
votos.pas, votos.c, votos.cpp

Problema
En una localidad han ideado una nueva forma de elegir a sus gobernantes: al azar. Pero para hacer sentir a la gente que su opinión es importante, se implementó el siguiente sistema:
Primer paso: Permiten que cualquier candidato se postule, inclusive si no son de la localidad. Una vez que se tienen a todos los candidatos, los numeran del 1 al n.
Segundo paso: El día de las elecciones, los m ciudadanos empadronados van a votar. Los ciudadanos pueden votar las veces que quieran y por los candidatos que quieran.
Tercer paso: Se escogen k números aleatorios, con los cuales se van a elegir los k cargos oficiales de la localidad.
Cuarto paso: Para escoger al funcionario se toma el número aleatorio a y se empieza por el primer candidato. Si tiene más de a votos, es elegido; sino, a a se le restan los votos del candidato y se pasa al siguiente. El proceso se repite hasta que se elija a alguien. Si el número escogido es mayor que la cantidad total de votos, se repite este paso desde el principio. Un candidato no puede ser elegido para dos cargos, por lo que ya no se le toman en cuenta sus votos en las siguientes rondas.

Entrada
En la primera línea se tiene a n (n ≤ 1000), la cantidad de candidatos. En la segunda línea se tiene a m (m ≤ 10000), la cantidad de votantes, seguido por m líneas indicando los votos de cada ciudadano. Para abreviar los votos, se presentan por parejas: el primer número indica por quién votaron y el segundo cuántas veces lo hicieron. La lista termina con un par de ceros, y la cantidad de votos de cada ciudadano no sobrepasa 1000 (ya que se cansan de estar votando). A continuación viene una línea con la cantidad k (kn) de cargos a elegir, seguido por k líneas que contienen los números aleatorios que se van a utilizar.

Salida
La salida debe contener k líneas, con un número en cada una. Estas líneas contienen a los candidatos ganadores en el mismo orden en que fueron elegidos.

Ejemplo

entrada salida
5
3
1 5 4 8 0 0
1 5 2 4 5 1 0 0
3 5 4 2 5 7 0 0
3
1
1
30
1
2
4

 


Concurso: 13a OMI, Aguascalientes - Examen de Selección. 13/Abril/2008
Propuesto por: Pier Paolo Guillén Hernández
Ayuda: entradas, salidas, sugerencias
Soluciones: votos.pas, votos.c, votos.cpp


World of πer