Решение задачи Наблюдение за студентами с Яндекс Контест

Без пояснения   Просмотров: 2347


На первом курсе одной Школы, учится 1 ≤ N ≤ 109 студентов. При проведении экзаменов студентов рассаживают в ряд, каждого за своей партой. Парты пронумерованы числами от 0 до N - 1.

Известно, что студент, оставшись без наблюдения, открывает телефон и начинает искать ответы на экзамен в поисковике Яндекса.

Поэтому было решено позвать M преподавателей наблюдать за студентами. Когда за студентом наблюдает хотя бы один преподаватель, он стесняется и не идет искать ответы к экзамену. Преподаватель с номером i видит студентов сидящих за партами от bi до ei включительно.

Необходимо посчитать количество студентов, которые все таки будут искать ответы к экзамену в Яндексе

Код

n, m = map(int, input().split())
a = []
idx = []
for i in range(m):
    idx += [0, 1]
for i in range(m):
    b1, b2 = map(int, input().split())
    a += [b1, b2]
a += [n + 1, n + 1]
idx += [0, 1]
a, idx = zip(*sorted(zip(a, idx)))
prev = 0
s = 0
k = 0
for i in range(len(a)):
    if k == 0:
        s += a[i] - prev - 1
    if idx[i] == 1:
        prev = a[i]
        k -= 1
    else:
        k += 1
print(s)

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет