- Language:
- Time limit: 1.00 s
- Memory limit: 512 MB
Ohjelmointikilpailuun osallistui n kilpailijaa, jotka lähettivät kilpailun aikana yhteensä m ratkaisua. Kilpailussa oli k tehtävää ja jokaisesta tehtävästä pystyi saamaan 0–100 pistettä.
Sinulle on annettu tiedot kilpailijoiden lähetyksistä aikajärjestyksessä. Tehtäväsi on tämän perusteella muodostaa kilpailun lopullinen tulostaulu.
Kilpailijan kokonaispistemäärä saadaan laskemalla yhteen paras pistemäärä jokaisesta tehtävästä. Jos kahdella kilpailijalla on sama kokonaispistemäärä, aiemmin tämän pistemäärän saavuttanut kilpailija saa paremman sijan. Kilpailijat, jotka eivät saaneet lainkaan pisteitä, järjestetään aakkosjärjestykseen.
Syöte
Ensimmäisellä rivillä on kolme kokonaislukua n, m ja k: kilpailijoiden määrä, lähetysten määrä ja tehtävien määrä. Ensimmäisen tehtävän tunnus on A
, toisen tehtävän tunnus on B
, jne.
Seuraavat n riviä sisältävät kilpailijoiden nimet. Jokainen nimi muodostuu merkeistä a
–z
ja siinä on 1–10 merkkiä. Jokaisella kilpailijalla on eri nimi.
Viimeiset m riviä kuvaavat lähetykset. Jokainen rivi sisältää lähettäjän nimen, tehtävän tunnuksen ja tehtävästä saadun pistemäärän (0–100).
Lähetykset on annettu aikajärjestyksessä ensimmäisestä viimeiseen.
Tuloste
Tulosta n riviä: kilpailijoiden nimet ja kokonaispistemäärät tulostaululla.
Esimerkki
Syöte:
5 8 3 uolevi liisa kaaleppi kotivalo maija uolevi A 35 maija C 50 kaaleppi B 0 uolevi A 20 uolevi B 15 kotivalo B 80 maija B 0 maija C 50
Tuloste:
kotivalo 80 maija 50 uolevi 50 kaaleppi 0 liisa 0
Selitys: Maijan ja Uolevin kokonaispistemäärä on 50 pistettä (Maijalla 50 pistettä tehtävästä C
ja Uolevilla 35 pistettä tehtävästä A
ja 15 pistettä tehtävästä B
). Maija on tuloslistalla ennen Uolevia, koska hän saavutti pistemäärän 50 ensin.
Kaaleppi ja Liisa eivät saaneet lainkaan pisteitä. Kaaleppi on listalla ennen Liisaa, koska hänen nimensä on aiemmin aakkosjärjestyksessä.
Osatehtävä 1 (20 pistettä)
- n=1
- 0 \le m \le 5000
- 1 \le k \le 10
Osatehtävä 2 (20 pistettä)
- 1 \le n \le 100
- 0 \le m \le 5000
- k=1
Osatehtävä 3 (60 pistettä)
- 1 \le n \le 100
- 0 \le m \le 5000
- 1 \le k \le 10