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

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

    №26 по КИМ

    В кондитерской есть N круглых форм для коржей. Специализация кондитерской  — многоярусные торты, в которых диаметр каждого верхнего коржа меньше диаметра предыдущего. Один корж можно поместить на другой, если его диаметр хотя бы на 4 единицы меньше диаметра другого коржа. Определите наибольшее количество коржей, которое можно использовать для создания многоярусного торта, и максимально возможный диаметр самого маленького коржа.

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

     

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

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

    5

    43

    40

    32

    40

    30

    Пример входного файла приведён для пяти коржей и случая, когда минимальная допустимая разница между диаметрами коржей, подходящих для изготовления многоярусного торта, составляет 3 единицы.

    При таких исходных данных условию задачи удовлетворяют наборы коржей с диаметрами 30, 40 и 43 или 32, 40 и 43 соответственно, т. е. количество коржей равно 3, а максимально возможный диаметр самого маленького коржа равен 32.

    1_26.txt

    Ответ

    Ответ:

    2172 50

    Решение

    f = open('1_26.txt')
    n = int(f.readline())
    a = [int(i) for i in f]
    a.sort(reverse = True)
    count = 1
    diametr = a[0]
    for i in range(1,len(a)):
    if diametr - a[i] >= 4:
    count += 1
    diametr = a[i]
    print(count,diametr)
    Понятно ли решение?

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

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

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

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

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