Входной файл содержит заявки на проведение мероприятий в конференц-зале в течение одного дня. В каждой заявке указано время начала и время окончания мероприятия в минутах от начала суток. Если время проведения двух или более мероприятий пересекается, то провести можно не более одного из них. Между окончанием одного мероприятия и началом следующего необходим перерыв не менее
Определите, какое максимальное количество мероприятий можно провести в конференц-зале в этот день и каким при этом может быть максимально возможный перерыв между двумя последними мероприятиями.
Входные данные.
Первая строка входного файла содержит целое число N (N ≤ 1000) — общее количество заявок. Каждая из следующих
В ответе запишите два целых числа: сначала максимальное количество мероприятий, которые можно провести в этот день, затем — максимально возможный при таком количестве мероприятий перерыв между двумя последними мероприятиями.
Ответ:
Приведем решение на языке Python.
f = open('26.txt').readlines()[1:]
f = sorted([list(map(int, i.split())) for i in f], key=lambda x: x[1])
otv1 = [f[0]]
for x in f[1:]:
if x[0] > otv1[-1][1] + 15:
otv1 += [x]
f = list(filter(lambda x: x[0] > otv1[-2][1] + 15, f))
print(len(otv1), max(i[0] - otv1[-2][1] for i in f))
Ответ: 18 29.

