Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 26. Информатика. ЕГЭ. Основная волна. 11.06.2025
- Просмотры: 3673
- Изменено: 21 августа 2025
Входной файл содержит информацию заявках граждан, обращающихся во многофункциональный центр (МФЦ) в течение календарных суток. В заявке указаны время начала и время окончания приёма специалистом (в минутах от начала суток). Рабочие места специалистов МФЦ (окна) пронумерованы натуральными числами начиная с 1. Приём одного гражданина ведёт свободный специалист в окне с минимальным номером. Новый посетитель может обратиться к освободившемуся специалисту начиная со следующей минуты после завершения приёма предыдущего. Если в момент обращения в МФЦ свободных специалистов нет, то гражданин уходит. Определите, сколько граждан смогут попасть на приём в МФЦ в течение \(24\) ч, и каков номер окна специалиста, который начнёт принимать посетителя Если таких окон несколько, укажите наименьший номер окна.
Входные данные
В первой строке входного файла находится натуральное число \(K,\) не превышающее \(1000,\) — количество окон в МФЦ. Во второй строке — натуральное число \(N\) \((N \leqslant 10~000),\) обозначающее количество граждан. Каждая из следующих \(N\) строк содержит два натуральных числа, каждое из которых не превышает \(1440:\) указанные в заявке время начала и время окончания приёма (в минутах от начала суток).
Запишите в ответе два числа: количество граждан, которые смогут воспользоваться услугами МФЦ, и номер окна, в котором специалист примет последнего гражданина.
Типовой пример организации данных во входном файле
\(2\)
\(5\)
\(30 \,\, 60\)
\(40 \,\, 100\)
\(59 \,\, 60\)
\(61 \,\, 100\)
\(101 \,\, 144\)
При таких исходных данных воспользоваться услугами МФЦ смогут первый, второй, четвёртый и пятый граждане. Наименьший номер окна, где последний из граждан будет принят специалистом, — \(1,\) так как будут свободны окна \(1\) и \(2.\)
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.
Решение:
Python
fp = open('26_23283.txt')
K = int(fp.readline())
N = int(fp.readline())
pos = [tuple(map(int, line.split())) for line in fp]
pos.sort()
windows = [0] * (K+1)
q = 0
last = 0
for p in pos:
st, end = p
for i in range(1, K+1):
if st > windows[i]:
windows[i] = end
q += 1
last = i
break
print(q, last)
Ответ: \(793 \,\, 2\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


