Выборы по системе runoff

Просмотр в формате PDF

Submit solution


Очки: 190
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Избирательная комиссия проводит подсчёт голосов на выборах, где используется система поэтапного выбывания кандидатов.

В выборах участвуют m кандидатов с различными именами. Проголосовали n избирателей. Каждый бюллетень содержит полный список из всех m кандидатов, упорядоченный по убыванию предпочтения избирателя.

Подсчёт ведётся по раундам:

  1. В текущем раунде каждый бюллетень засчитывается тому кандидату, который стоит в нём выше всех среди кандидатов, ещё не выбывших к этому моменту.
  2. Если какой-либо кандидат набрал строго больше половины от общего числа бюллетеней, то он объявляется избранным, и подсчёт заканчивается.
  3. Иначе комиссия исключает из дальнейшего подсчёта кандидата, получившего минимальное число голосов в этом раунде. Если таких кандидатов несколько, исключается кандидат с лексикографически наибольшим именем.
  4. Если в какой-то момент остаётся только один кандидат, он и считается победителем.

Необходимо определить имя победителя.

Входные данные

В первой строке записаны два целых числа n и m — число избирателей и число кандидатов соответственно.

В следующих m строках записаны имена кандидатов, по одному в строке. Все имена различны.

В следующих n строках описаны бюллетени. Каждая из этих строк содержит m имён кандидатов через пробел — в порядке от наиболее предпочтительного к наименее предпочтительному.

Гарантируется, что в каждом бюллетене перечислены все m кандидатов, и каждое имя входит в список кандидатов.

Выходные данные

Выведите одно имя — победителя выборов.

Ограничения

  • 1 <= n <= 10^4
  • 2 <= m <= 20
  • каждое имя кандидата — непустая строка длины не более 20, состоящая из строчных латинских букв
  • все имена кандидатов различны

Примеры

Пример 1

Входные данные

3 2
a
b
a b
b a
b a

Выходные данные

b
Пример 2

Входные данные

5 3
a
b
c
a b c
a b c
a b c
b c a
c a b

Выходные данные

a

Комментарии

Еще нет ни одного комментария.