Входной файл: | Стандартный вход | Ограничение времени: | 4 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Николай участвует в выборах президента студенческого совета.
По результатам предварительного голосования он занимает место N + 1.
Пользуясь личными связями, он получил информацию о том, сколько каждый из кандидатов набрал голосов.
Теперь он хочет выяснить, кто обошел его и занимает позицию N.
Вам необходимо реализовать функцию max(n, lines)
, которая по заданному числу N и информации о кандидатах, вернет имена тех, кто занимает позицию N в рейтинге, составленному по убыванию количества проголосовавших.
Стоит заметить, что несколько кандидатов могут набрать одинаковое количество голосов.
При решении задачи используйте Java Stream API
и следующий класс:
import java.util.*;
import java.util.stream.*;
public class Solution
{
public static Stream<String> max(int n, Stream<String> lines)
{
// Ваш код
}
}
На вход вашей функции подается целое число N и Stream
строк, каждая из которых имеет следующий формат:
[Имя кандидата] [Количество проголосовавших]
Код решения должен содержать только класс Solution
с реализацией функции max
. Он не должен ничего выводить.
Выходной поток Stream
должен быть отсортирован в лексикографическом порядке по возрастанию.
1 ≤ N ≤ 106
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|