Всем привет! На днях задали задачу:
На телевизионном шоу зрители голосуют за участников шоу, отправляя SMS-сообщение с номером участника.Определите победителя шоу на основе присланных SMS-сообщений.
Входные данные
Первая строка входных данных содержит количество участников шоу и количество проголосовавших телезрителей N≤10^6. Во второй строке содержится список номеров, присланных телезрителями, через пробел.
Выходные данные
Программа должна вывести номер участника, набравшего наибольшее число голосов. Если таких несколько, то программа должна вывести номера всех победителей шоу в порядке возрастания.
Неверные номера, присланные телезрителями (то есть большие, чем N) необходимо игнорировать.
В 14 тестах из 16 ответ верный, но в одном из оставшихся выдаёт какую-то неизвестную ошибку, а в другом превышено максимальное время работы.
Вот мой код:
Подскажите что исправить.
Windows 10, Python 3.7.
На телевизионном шоу зрители голосуют за участников шоу, отправляя SMS-сообщение с номером участника.Определите победителя шоу на основе присланных SMS-сообщений.
Входные данные
Первая строка входных данных содержит количество участников шоу и количество проголосовавших телезрителей N≤10^6. Во второй строке содержится список номеров, присланных телезрителями, через пробел.
Выходные данные
Программа должна вывести номер участника, набравшего наибольшее число голосов. Если таких несколько, то программа должна вывести номера всех победителей шоу в порядке возрастания.
Неверные номера, присланные телезрителями (то есть большие, чем N) необходимо игнорировать.
В 14 тестах из 16 ответ верный, но в одном из оставшихся выдаёт какую-то неизвестную ошибку, а в другом превышено максимальное время работы.
Вот мой код:
Python:
s = [] * 2
s = list(map(int, input().split()))
a = [] * (s[1] + 1)
a = list(map(int, input().split()))
max = ''
max1 = 0
r = [0] * (s[0] + 1)
for i in range(1, s[0] + 1):
for t in range(s[1]):
if a[t] == i and a[t] <= s[0]:
r[i] += 1
for q in range(1, s[0] + 1):
if r[q] >= max1:
max1 = r[q]
for e in range(1, s[0] + 1):
if r[e] == max1:
max += str(e) + ' '
print(max)
Windows 10, Python 3.7.