Dziękuję za podpowiedzi.
Napisałem ten kod, co nie było łatwe. Limit nałożony na czas wydaje mi się absurdalnie krótki. Czy to nie jest tak, że sędzia sprawdza sposób wykonania zadania, a nie sam wynik? Napisałem ten kod w dwojaki sposób z użyciem hashTable i bez niego. Przygotowałem plik, w którym jest 100 000 pozycji i 100 różnych imion do posortowania. Na wyjściu pojawia się posortowanych 100 imion po 1000 wystąpień każde. Poniżej czasy wykonania w sekundach:
z użyciem HashTable:
Total time: 0.108
Input time: 0.065
Sort time: 0.043
bez użycia HashTable
Total time: 0.142
Input time: 0.103
Sort time: 0.039
Total time to całkowity czas wykonania, ponadto są tam timery liczące ile trwa wczytywanie danych, a ile sortowanie. Oczywiście na mojej maszynie, na Ideone chyba nie ma takiej możliwości, aby wstawić tak wielki plik wejściowy. Jeden kod jest akceptowany przez sędziego, a drugi nie - ze względu na czas wykonania, nie na wynik. Naprawdę chodzi tylko o czas?