Selectivitat P50335


Statement
 

pdf   zip

Donats un llistat d’estudiants i un llistat de titulacions, volem assignar els estudiants a les titulacions en funció de les notes de selectivitat, i també calcular la nota de tall i el nombre de places lliures sense ocupar de cada titulació.

Per a cada estudiant es disposa del nom (una paraula, potser repetida), el DNI (un natural identificador entre 0 i 108110^8 - 1), la nota de selectivitat (un real entre 5 i 10 amb cinc dígits decimals de precisió), i una llista amb entre 1 i 10 titulacions diferents (paraules separades amb comes) en ordre de preferència.

Per a cada titulació es disposa del nom (una paraula identificadora) i el nombre de places disponibles (un natural entre 1 i 10410^4). Totes les preferències dels estudiants apareixen en aquest llistat.

Per assignar les titulacions, els estudiants es processen segons la nota, de la més alta a la més baixa (i de DNI més baix a més alt en cas d’empat). Cada estudiant és assignat a la primera preferència que encara tingui places lliures. Si no queda cap plaça lliure per a algun estudiant, no rep cap assignació.

La nota de tall d’una titulació es defineix com la nota de selectivitat més baixa dels estudiants assignats, o bé 0.00000 si no n’hi ha cap.

Entrada

L’entrada conté els dos llistats, precedits respectivament del nombre d’estudiants i del de titulacions. Ambdós nombres es troben entre 1 i 10410^4. Totes les paraules donades tenen entre 1 i 10 lletres minúscules.

Sortida

Escriviu dos llistats, cadascun començant amb tres guions. El primer ha de tenir el DNI, nom i titulació assignada a cada estudiant, ordenat per DNI. Per als estudiants sense titulació cal escriure “None”. El segon llistat ha de tenir cada titulació amb la nota de tall i el nombre final de places lliures, ordenat decreixentment per nota de tall (en ordre alfabètic en cas d’empat).

Puntuació

  • Cas A:

    Casos on el nombre d’estudiants, el nombre de titulacions, i el nombre de places disponibles de cada titulació està afitat per 100, com tots els exemples d’entrada.

  • Cas B:

    Resta de casos.

Information
Author
Jordi Petit
Language
Catalan
Official solutions
C++ Python
User solutions
C++ Python