Контест 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
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.