Sistema de Sobrecupos UNAL

0

0 votes
Medium, Estructuras de datos
Problem

En la Universidad Nacional de Colombia se piensa implementar un nuevo sistema de atención a solicitudes de sobrecupos, en el cual los estudiantes pueden en cualquier momento ingresar una solicitud de sobrecupo. Usted como destacado(a) estudiante de estructuras de datos ha sido contratado para la implementación de este sistema de acuerdo con la siguiente descripción. Se deben atender primero a los estudiantes que tengan mejor P.A.P.P.I., por lo tanto cada vez que se vaya a atender una solicitud entre las que están pendientes, se debe escoger la del estudiante con mayor P.A.P.P.I. [1], si hay 2 o más solicitudes con el mismo mismo P.A.P.P.I se escoge entre estas la solicitud de la persona que haya tomado más créditos en el último semestre y, en caso que todavía persista el empate, se escogerá la solicitud que se haya hecho primero.

[1] El P.A.P.P.I. es el Promedio Académico Ponderado Para Inscripción, el cual se calcula dividiendo la suma ponderada de las notas obtenidas en el último semestre entre la cantidad de créditos cursados en dicho semestre. (se cuentan también las materias canceladas)

INPUT:

La entrada consiste en varias lineas con las operaciones realizadas en el sistema.

Cada operación se especifica en así: una línea que contiene una palabra que determina el tipo de operación: "sobrecupo" o "atender". Para el caso de "sobrecupo" se incluyen cinco (5) líneas adicionales de entrada:

1. El número del documento del estudiante (una cadena de dígitos de longitud entre 1 y 12)

2. El código de la asignatura para la cual se solicita el sobrecupo (una cadena de dígitos de longitud entre 1 y 8)

3. El motivo que justifica la solicitud de sobrecupo, una línea (de 0 a 50 caracteres) compuesta de solo letras y espacios

4. Un número entero, entre 1 y 20000 (un estudiante que inscribió muchas materias), que corresponde a la cantidad total de créditos que tomó el estudiante el semestre anterior (incluyendo materias canceladas)

5. Un número con un único dígito decimal, entre 0 y 5 veces la cantidad total de créditos que tomó el estudiante el semestre anterior, que corresponde a la suma ponderada de las notas del estudiante en el semestre anterior

La entrada va hasta fin de línea y puede asumir que no hay mas de 200000 operaciones.

OUTPUT:

Para cada operación "atender" se debe imprimir una línea con el número del documento del estudiante a quien se le atenderá la solicitud, la razón del sobrecupo y el código de la asignatura para la cual se solicita sobrecupo separados entre si por una coma. En caso de no haber solicitudes pendientes, se debe imprimir "Todos tienen cupo" (sin comillas)

Sample Input
solicitud
987654321
2016699
Perdi estructuras de datos el semestre pasado
3
0.0
solicitud
123456789
2016699
Quiero ver estructuras de datos porque es genial
3
15.0
solicitud
999999999
1000006
Ya no hay cupos
4
0.0
atender
atender
atender
atender
Sample Output
123456789,Quiero ver estructuras de datos porque es genial,2016699
999999999,Ya no hay cupos,1000006
987654321,Perdi estructuras de datos el semestre pasado,2016699
Todos tienen cupo
Time Limit: 3
Memory Limit: 256
Source Limit:
Editor Image

?