Les organisateur d'un concours de programmation désirent avoir un programme qui leur permettra de calculer les scores des diverses équipes participant au concours et ainsi déterminer les équipes ayant obtenu les meilleurs résultats.
Le score de chaque équipe est basé sur trois éléments :
Plus précisément, les diverses équipes doivent tout d'abord être ordonnées selon le nombre de solutions correctes qu'elles ont produites. Si deux ou plusieurs équipes ont le même nombre de solutions correctes, elles doivent ensuite être ordonnées en fonction du nombre de points de pénalité déterminé comme suit :
Les données d'entrée (stdin) sont formées d'une série de lignes, où chaque ligne décrit les soumissions effectuées par les diverses équipes en fonction du temps. Plus précisément, chaque ligne contient les éléments suivants :
On suppose aussi qu'aucune équipe ne remet une solution incorrecte après avoir remis une solution correcte.
La sortie doit contenir une liste ordonnée des diverses équipes, de la meilleure à la moins bonne, ordonnée selon le nombre de solutions correctes et le nombre de points de pénalité. Pour chaque équipe, il faut donc indiquer le nombre total de problèmes résolus correctement de même que le nombre total de points de pénalités.
Remarque importante : si une solution incorrecte a été soumise et que par la suite le problème n'a pas été résolu correctement , alors les 20 points de pénalité ne doivent pas être pris en compte (puisque ceux-ci ne s'ajoutent qu'au temps écoulé lors de la remise de la solution correcte).
10 equipe1 b
10 equipe2 b
30 equipe2 b
30 equipe3 b
40 equipe3 B
50 equipe2 C
equipe2 1 50
equipe3 1 60
equipe1 0 0
20 e00 A
20 f00 b
40 e00 b
60 e00 B
60 f01 A
100 f00 c
110 f01 B
120 e01 A
e00 2 100
f01 2 170
e01 1 120
f00 0 0