В сервисе Киношечка зарегистрировано n пользователей. Все пользователи, за исключением двух, в последние два месяца посещали сайт. Нужно определить id пользователей, которые сайт не посещали.
Формат ввода
Первая строка содержит число n — количество зарегистрированных пользователей. Это целое число в диапазоне от 2 до
10 в 6 степени.
Во второй строке через пробел заданы различные n - 2 целых числа. Каждое из них не превосходит n и больше нуля.
Формат вывода
Нужно в одной строке вывести по возрастанию два пропущенных числа, разделённые пробелом.
Я решил так
Файл input.txt содержит
19
16 11 5 7 15 18 6 13 9 10 14 12 2 19 4 17 3
Файл main.py
with open('input.txt', 'r') as f:
nums = f.read().splitlines()
all_count=nums[0]
rows=nums[1:]
result_string=''
for r in rows:
arr=list(map(int, r.split()))
arr.sort()
for i in range(1, int(all_count)+1):
if i not in arr:
result_string+= str(i) +' '
print(result_string)
Отрабатывает верно, но на 7 тесте не проходит так как время исполнения больше 7 секунд, а данных в input.txt очень много.
Как можно оптимизировать алгорит?