Контест Junior Move-семантика обновлено

Топ участников: сортировка записей без копий строк

Условие

Дано n записей «логин и баллы». Выведите k лучших: по убыванию баллов, при равенстве по возрастанию логина (по кодам символов). Логины могут повторяться: это разные записи.

Храните записи в std::vector<Record> со строковым полем и при чтении перемещайте строку в запись (std::move), а сортировку делайте std::sort с компаратором: при обменах элементов строки будут перемещаться, а не копироваться.

Ввод: в первой строке n и k (1 ≤ k ≤ n ≤ 2000), далее n строк логин баллы (логин из латинских букв и цифр, до 30 символов; 0 ≤ баллы ≤ 100).

Вывод: k строк логин баллы.

Пример 1

Ввод:

4 2
olga 50
anna 70
boris 50
anna 50

Вывод:

anna 70
anna 50

Пример 2

Ввод:

1 1
x 0

Вывод:

x 0

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.