ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 26. Информатика. ЕГЭ. Статград. 01.04.2025-1

Просмотры: 2529
Изменено: 1 апреля 2025

Система наблюдения ежеминутно фиксирует вход и выход сотрудников из офиса (в минутах, прошедших от начала суток). Считается, что в моменты фиксации входа и выхода сотрудник находится в офисе. Нулевая минута соответствует моменту начала рабочего дня в офисе, который длится \(24\) ч в сутки без перерыва. Менеджер компании анализирует данные системы наблюдения за прошедшие сутки, и выявляет непересекающиеся отрезки времени наибольшей длины, в течение которых число сотрудников, находящихся в офисе, не изменялось. Входной файл содержит время входа и выхода каждого сотрудника компании. Определите минуту, когда в предпоследний раз за сутки число сотрудников поменялось, и укажите наибольшую длину отрезка времени, когда количество сотрудников оставалось неизменным.

Входные данные

В первой строке входного файла находится натуральное число \(N\) \((N \leqslant 100~000)\) — количество сотрудников компании. Следующие \(N\) строк содержат пары чисел, обозначающих соответственно время входа и время выхода сотрудника (все числа натуральные, не превышающие \(1440\)).

Запишите в ответе два натуральных числа: сначала минуту, когда в предпоследний раз за сутки число сотрудников поменялось, а затем наибольшую длительность промежутка времени, при котором количество сотрудников оставалось неизменным.

Типовой пример организации данных во входном файле

\(5\)
\(10 \, 1070\)
\(230 \, 1070\)
\(240 \, 1070\)
\(1070 \, 1400\)
\(1071 \, 1400\)

При таких исходных данных в течение суток было \(7\) промежутков времени, когда число сотрудников не менялось: \((0, \, 10),\) \((10, \, 230),\) \((230, \, 240),\) \((240, \, 1070),\) \((1070, \, 1071),\) \((1071, \, 1400),\) \((1400, \, 1440).\) Наибольшей длиной из этих отрезков является число \(830.\) В \(1071\) минуту в предпоследний раз за сутки изменилось число сотрудников.

Решение:

Python


base = ''
fd = open(base + '26.txt')
N = int(fd.readline())
tt = {i: 0 for i in range(1441)}
for line in fd:
    i, o = map(int, line.split())
    for x in range(i, o+1):
        tt[x] += 1
chg = []
max_time = 0
tmp = 1
for x in range(1440):
    if tt[x] == tt[x+1]:
        tmp += 1
    else:
        max_time = max(max_time, tmp)
        tmp = 1
        chg.append(x+1)
print(chg[-2], max_time)

Ответ: \(1432 \,\, 15\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году