Тимофей решил организовать соревнование по спортивному программированию, чтобы найти талантливых стажёров. Задачи подобраны, участники зарегистрированы, тесты написаны. Осталось придумать, как в конце соревнования будет определяться победитель.
Каждый участник имеет уникальный логин. Когда соревнование закончится, к нему будут привязаны два показателя: количество решённых задач Pi и размер штрафа Fi. Штраф начисляется за неудачные попытки и время, затраченное на задачу.
Тимофей решил сортировать таблицу результатов следующим образом: при сравнении двух участников выше будет идти тот, у которого решено больше задач. При равенстве числа решённых задач первым идёт участник с меньшим штрафом. Если же и штрафы совпадают, то первым будет тот, у которого логин идёт раньше в алфавитном (лексикографическом) порядке.
Тимофей заказал толстовки для победителей и накануне поехал за ними в магазин. В своё отсутствие он поручил вам реализовать алгоритм быстрой сортировки (англ. quick sort) для таблицы результатов.
Так как Тимофей любит спортивное программирование и не любит зря расходовать оперативную память, то ваша реализация сортировки не может потреблять O(n) дополнительной памяти для промежуточных данных (такая модификация быстрой сортировки называется "in-place").
Время выполнения алгоритма не должно превышать 2с. Решение только методом IN-PLACE
ввод:
5
alla 4 100
gena 6 1000
gosha 2 90
rita 2 90
timofey 4 80
вывод:
gena
timofey
alla
gosha
rita
Анель
Синергия Омский ф-л
Спасибо! Я получила 4 и меня это вполне устраивает. Работа была выполнена досрочно и недорого!
Алекс
Новосибирский Государственный Педагогический Университет
Заказал работу по иностранному языку. Девушка - эксперт выполнила работу максимально опера...
Анель
Синергия Омский ф-л
Корпоративные финансы выполнено Евгенией на 5 и очень дешево! Огромное спасибо!
Александра
СПбГТИ(ТУ)
Не первый раз прошу помощи у данного исполнителя! Всё верно, оперативно, без нареканий! Ир...