Каждый участник регистрируется на сайте игры под определённым игровым
Условие
Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам: 1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.2. Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат (количество набранных очков) фиксируется и заносится в протокол.3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.4. Окончательный результат участника определяется по одной, лучшей для данного участника игре.5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат. В ходе соревнований заполняется протокол, каждая строка которого описывает одну игру и содержит результат участника и его игровое имя. Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому строки в нём расположены в порядке проведения игр: чем раньше встречается строка в протоколе, тем раньше закончилась соответствующая этой строке игра. Спонсор чемпионата предоставил призы различной ценности для награждения К лучших игроков (К<=20). Если участников окажется меньше К, призами награждаются все. Вам необходимо написать эффективную, в том числе по памяти, программу, которая по данным протокола определяет К лучших игроков и занятые ими места. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию. Описание входных данныхПервая строка содержит числа К — количество имеющихся призов и N — общее количество строк протокола.
Каждая из следующих N строк содержит записанные через пробел результат участника (целое положительное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе. Описание выходных данныхПрограмма должна вывести имена и результаты К лучших игроков в порядке занятых мест по форме, приведённой ниже в примере. Если игроков окажется меньше К, нужно вывести данные обо всех игроках. Пример входных данных: 6 1569485 Jack 95715 qwerty 95715 Alex 83647 M 197128 qwerty 95715 Jack 93289 Alex 95715 Alex 95715 M32768 BilboBaggins 99824 TetrisMaster 45482 BilboBaggins 62123 BilboBaggins 77623 M 56791 Champion Пример выходных данных для приведённого выше примера входных данных:1. qwerty (197128)2. TetrisMaster (99824)3. Alex (95715)4. Jack (95715)5. M (95715)6. BilboBaggins (62123)
Формат задания
Решение по шагам
Как рассуждать
Программа читает входные данные, не запоминая в массиве информацию обо всех сделанных попытках.
Осталось ещё 8 шагов
В процессе ввода заполняется массив…
Допускается создание массива из 20 элементов…
Для каждой строки протокола необходимо…
При этом необходимо учитывать, что очередная…
При включении нового результата в список…
Ниже приводится пример правильной программы…
В данной программе для каждой строки…
Допускается сокращение этого просмотра за…
Бесплатно · займёт минуту