Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №26
  • Задание №26
  • Задание №61879 ЕГЭ Информатике

    Условие задания #61879

    №26 по КИМ

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

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

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

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

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

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

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

    7

    40 3

    40 7

    60 33

    50 125

    50 129

    50 68

    50 72

    Для приведённого примера, при условии, что необходимо 3 свободных места, ответом является пара чисел: 50; 69.

    107_26 (1).txt

    Ответ

    Ответ:

    59966 50449

    Решение

    f = open("107_26.txt")
    n = int(f.readline())
    nums = list()
    for i in f:
        a, b = i.split()
        a = int(a)
        b = int(b)
        nums.append([a, -b])
    nums.sort()
    r = 0
    m = 0
    for i in range(1, n):
        if nums[i][0] == nums[i - 1][0]:
            if nums[i][1] - nums[i - 1][1] == 14:
                r = nums[i][0]
                m = -nums[i][1] + 1
    print(r, m)

    Понятно ли решение?

    Похожие задания

    15
    Задание №46720Задание №46721Задание №46752Задание №51424Задание №46719Задание №32183Задание №46642Задание №32179Задание №41214Задание №46643Задание №56108Задание №41209Задание №41208Задание №36692Задание №46645
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме