EGEsoll - сборник решений задач из ЕГЭ

Задача 4 поиск пустого места

В лесничестве саженцы сосны высадили параллельными рядами, которые пронумерованы идущими подряд натуральными числами. Растения в каждом ряду пронумерованы натуральными числами начиная с единицы.

По данным аэрофотосъёмки известно, в каких рядах и на каких местах растения не прижились. Найдите ряд с наибольшим номером, в котором есть ровно 13 идущих подряд свободных мест для посадки новых сосен, таких, что непосредственно слева и справа от них в том же ряду растут сосны. Гарантируется, что есть хотя бы один ряд, удовлетворяющий этому условию. В ответе запишите два целых числа: наибольший номер ряда и наименьший номер места для посадки из числа найденных в этом ряду подходящих последовательностей из 13 свободных мест.

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

В первой строке входного файла находится число N — количество прижившихся саженцев сосны (натуральное число, не превышающее 20000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 100000: номер ряда и номер места в этом ряду, на котором растёт деревце.

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

Два целых неотрицательных числа: наибольший номер ряда и наименьший номер места в выбранной последовательности из 13 мест, подходящих для посадки новых сосен.

Download File 1

Добавлено: 17.04.26 21:08

Перейти к решению

Решение

Приведём решение на Python:

f = open("26_2.txt")
_ = f.readline()

a = []
for line in f.readlines():
    a.append(list(map(int, line.split())))

a = sorted(a, key=lambda item: item[0] * 2**15 + item[1])

k = 0
r = []
for i in range(len(a) - 2):
    if a[i + 1][1] - a[i][1] == 14 and a[i][0] == a[i + 1][0]:
        r.append([a[i][0], a[i][1] + 1])
print(sorted(r, key=lambda item: item[0] * 2**15 + item[1])[-1])

Ответ: 59966, 50449

Автор - rubygem17

Объяснение

None

Назад