Úloha: Soutěž

Pořadí na mezinárodní programátorské soutěži se vyhodnocuje podle následujících pravidel.
1. Pokud tým A vyřešil správně více úloh než tým B, má tým A nižší pořadí než tým B.
2. Pokud tým A vyřešil správně stejný počet úloh jako tým B, ale strávil na jejich řešení sumárně méně času, pak má tým A nižší pořadí.
3. Pokud oba týmy A a B vyřešily správně stejný počet úloh a ve stejném sumárním čase, pak mají stejné pořadí.
Sumární čas týmu je součtem časů všech jeho odevzdaných správných řešení. Každý tým může odevzdávat řešení každé úlohy vícekrát až do doby, kdy je řešení správné. Za každé nesprávné odevzdané řešení úlohy, kterou tým nakonec správně vyřeší, se týmu připočítává k času řešení této úlohy 20 penalizačních minut. Čas správného řešení úlohy se vždy uvažuje včetně všech penalizačních minut. Úloha, jejíž správné řešení tým neodevzdá nebo neodevzdal, se nehodnotí, její případné penalizační minuty se do sumárního času nezapočítávají, a proto nijak neovlivňují pořadí týmu. Předpokládáme, že po odevzdání správného řešení ulohy již tým další řešení této úlohy neodevzdává.

V průběhu soutěže se na stole jury hromadí záznamy o řešených úlohách. Ze seznamu všech těchto záznamů máme sestavit aktuální pořadí týmů.

Vstup

První řádek vstupu obsahuje dvě celá čísla n, m, udávající počet soutěžících týmů a počet úloh. Každý tým je identifikovým unikátním celým číslem z intervalu 1..n, každá úloha je identifikována unikátním celým číslem z intervalu 1..m. Na dalším řádku je uvedeno jediné celé číslo k představující počet záznamů všech odevzdaných řešení. Na následujících k řádcích vstupu jsou uvedeny jednotlivé záznamy, každý na jednom řádku. Každý záznam obsahuje v uvedeném pořadí identifikaci řešitelského týmu, číslo řešené úlohy, čas zadání úlohy a čas odevzdání řešení a indikaci 0 nebo 1. Časy se uvádějí výhradně v celých minutách a jsou vždy nezáporné. Indikace 0 resp. 1 znamená, že řešení je nesprávné, resp. správné. Údaje v záznamu jsou navzájem odděleny jednou mezerou. Záznamy mohou být na vstupu uvedeny v libovolném pořadí.

Maximální počet týmů je 500, maximální možný počet úloh je 100, řešení jedné úlohy může tým odevzdávat nejvýše 50 krát.

Výstup

Výstup obsahuje aktuální pořadník týmů v jejich neklesajícím pořadí. Týmy, které dosud neodevzdaly žádné správné řešení, se v pořadníku neobjevují. Prázdný pořadník obsahuje jediný řádek s nápisem [Empty Scoreboard]. Každý tým uvedený v pořadníku obsazuje jediný řádek. Na řádku je uvedeno pořadí týmu v hranatých závorkách, identifikace týmu, počet správně vyřešených úloh a sumární čas týmu. Údaje jsou odděleny jednou mezerou. Pořadí se čísluje od nejnižšího počínaje 1. Pokud skupina t týmů sdílí stejné pořadí a z ostatních týmů má právě p nižší pořadí, potom pořadí každého týmu v této skupině se zaznamená jako dvojice čísel p+1 a p+t oddělená znakem minus. Například [3−4], [9−13] apod. Pokud skupina t týmů sdílí nejnižší možné pořadí, potom pořadí každého týmu v této skupině se zaznamená jako dvojice čísel 1 a t oddělená znakem minus. Například [1−3] apod. Když týmy sdílí stejné pořadí, uvádějí se v rostoucím pořadí svých identifikací.

Příklad 1

Vstup:
2 2
2
1 1 10 20 0
2 2 10 20 1
Výstup:
[1] 2 1 10

Příklad 2

Vstup:
3 2
6
1 2 15 45 1
2 1 10 60 1
1 2 15 25 0
1 1 5 40 0
3 1 0 70 1
3 2 10 120 1
Výstup:
[1] 3 2 180
[2-3] 1 1 50
[2-3] 2 1 50

Příklad 3

Vstup:
4 5
4
1 3 10 30 0
1 5 5 12 0
3 4 0 20 0
2 1 10 40 0
Výstup:
[Empty Scoreboard]

Příklad 4

Vstup:
5 10
9
4 2 10 20 0
5 10 5 105 1
4 2 10 70 1
3 6 20 120 1
1 4 5 10 0
1 2 10 110 1
2 8 25 125 1
4 2 10 40 0
4 3 20 80 0
Výstup:
[1-5] 1 1 100
[1-5] 2 1 100
[1-5] 3 1 100
[1-5] 4 1 100
[1-5] 5 1 100

Příklad 5

Vstup:
8 3
15
1 1 10 20 0
1 1 10 30 1
2 2 20 25 0
2 2 20 110 1
3 3 15 30 0
3 2 90 110 0
3 3 15 105 1
4 1 25 35 0
4 1 25 115 1
5 2 10 50 1
6 2 55 95 1
7 1 15 30 1
7 3 55 80 1
8 2 10 25 1
8 1 50 75 1
Výstup:
[1-2] 7 2 40
[1-2] 8 2 40
[3-5] 1 1 40
[3-5] 5 1 40
[3-5] 6 1 40
[6-8] 2 1 110
[6-8] 3 1 110
[6-8] 4 1 110

Veřejná data

Veřejná data k úloze jsou k dispozici. Veřejná data jsou uložena také v odevzdávacím systému a při každém odevzdání/spuštění úlohy dostává řešitel kompletní výstup na stdout a stderr ze svého programu pro každý soubor veřejných dat.

Veřejná data